Konstruktor vererben

Superior8881

Mitglied
Moin,

ich habe zwei Klassen.
PHP:
class data extends menu
und
PHP:
class make extends data {
Die Klassen werden mit
PHP:
$data = new data;
und später im Code mit
PHP:
$make = new make;
initalisiert.

Ich möchte data einem Konstruktor geben, diesen aber später in der Klasse make nicht noch einmal übergeben müssen.
PHP:
class data extends menu {
    function __construct($value_id) {
        $this->value_id = $value_id;
    }
}
$data = new data(1);
Die Klasse make soll jetzt den Konstruktor von data übernehmen.
Also irgendwas mit ::parent
Aber wie definiere ich das?

Gruß und Danke für Eure Antworten

Markus
 
PHP:
class make extends data {
    function __construct($value_id) {
        parent::__construct(_$value_id);
    }
}
 
Danke für die Antwort!

Aber wenn ich jetzt
PHP:
$make = new make();
deklariere, dann meldet er, das:
make::__construct(), 0 passed in make.php on line 13 and exactly 1 expected

Gruß Markus
 
data verlangt eine ID als Parameter. Ich nahm an, dass ist bei make auch so. Wenn nicht, dann musst du halt den Konstruktor von make anpassen
PHP:
class make extends data {
    function __construct() {
        //ID selber setzen. DIese wird von date gebraucht.
        //In dem Fall nehm ich einfach mal 0
        parent::__construct(0);
    }
}

Ps: Noch ein Tipp.
Klassennamen immer mit einem Grossbuchstaben beginnen, Variablen mit einem Kleinbuchstaben. Ist in PHP nicht ganz so wichtig, da Variablen mit einem $ beginnen. Aber in anderen Programmiersprachen ist es dann schon Relevant.
Java:
Make make = new Make();
make.start()
 
Ich halt mal mit Unix/Linux dagegen :cool:
Makefile:
# make babies
I don't know how to make babies. Stop.
Hab keine Ahnung von Linux und Uniux. WIe es denn dort? Wie sollten dort die Klassen und Variablen benannt werden? Zudem dachte ich, Linux und Unix seien Betriebsysteme. Sind es auch Programmiersprachen?
 
Hab keine Ahnung von Linux und Uniux. WIe es denn dort? Wie sollten dort die Klassen und Variablen benannt werden? Zudem dachte ich, Linux und Unix seien Betriebsysteme. Sind es auch Programmiersprachen?
Nee.... meine Antwort zielte eher auf deine Verwendung des Begriffs/Namens "Make"
und unter Unix/Linux ist mein Zitat oben ein sogenannter "Unix-Witz" der sich auf das "Make"-Tool bezieht.
Man konnte auf der Kommandozeile eben "#make babies" eingeben, und der PC antwortet eben mit "Don't know how to make babies. Stop!"

Und ja, Unix/Linux sind natürlich Betriebssysteme.
 
Zurück