OoP - Fragen

  • Hab mir mal die Aufgabe vorgenommen: http://www.php-kurs.com/objekt…ogrammierung-beispiel.htm

    Zitat

    Erstellen Sie die Klasse "student" ...


    Das Ergebis sollte doch wohl so aussehen, oder?


    Meine erste Frage zu: http://www.php-kurs.com/objekt…onstruktor-destruktor.htm

    Zitat


    Konstruktor / Destruktor


    Der Konstruktor ist der obere Teil, in dem die vars definiert werden, richtig?

    PHP
    var $Geschlecht;
        var $AlterinJahren = 1;
        var $Hauptfach_alt;
        var $Hauptfach_aktuell = 'deutsch';


    Und was ist der Destruktor?
    Aus der Beschreibung werd ich nicht schlau :huh:

  • Der Konstruktor wird als Funktion wie folgt definiert:


    PHP
    function __construct() 
      {  }


    und wird beim Aufrufen der Klasse ausgeführt:


    PHP
    $klasse = new klasse();


    Dem Konstruktor können Parameter wie folgt übergeben werden:



    Die Ausgabe wäre folglich: Hallo Welt


    Der Destruktor wird ähnlich definiert, nur heißt es in diesem Fall __destruct.


    Der Destruktor wird beim löschen der Variable welche die Klasse nutzt durch z.B. unset aufgerufen. Im Destruktor kann man z.B. Datenbankverbindungen oder Dateihandles schließen.

  • und für was ist dieser dann genau gut, wenn ich fragen darf?
    warum gibt es denn dann z.B. __FILE__ und nicht einfach FILE oder __FILE?

  • Ich tippe mal auf "Wiedererkenungswert".
    __FILE__ gibt die das aktuelle script, __LINE__ die aktuelle Zeile usw.


    Muss man denn private vars in OoP mit Unterstrich schreiben? (private _variable = 0;)
    Hab gelesen, dass es in PHP4 genutzt wurde um private vars zu erkennen, da es noch keine Möglichkeit gab private oder public vars zu setzen.
    Ist es ne Art ungeschriebenes Gesetz, dass man es immernoch so schreibt?

  • Es geht einfach darum das Programmierer die Konstante FILE einfach sehr häufig selber nutzen wollen, deshalb haben sich die PHP Entwickler einfach gedacht kommen ein paar Striche dran, wer seine Konstanten nun immer __SO__ schreibt, der hat halt Pech, das sind aber logischerweise die Wenigsten.


    Private Variablen definierst du durch private $var; und nicht durch den Unterstrich. Der Unterstrich ist in PHP lediglich ein ganz normaler Buchstabe wie jedes alphanummerische Zeichen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!