Webentwicklung. Seo. Webanalyse.

Hier sind PHP-Profis gefragt. Stellt euch diesem Quiz und beweist euer Wissen in der Objektorientierung. Ich habe für euch ein paar leichte, aber auch ein paar schwere Fragen erstellt, damit auch jeder ein paar Punkte bekommt ;-)

Wenn ihr wollt, kann ich bald mal ein paar neue Beiträge über OOP in PHP schreiben. Wie ihr im Quiz sehen werdet, gibt es dort sehr viele interessante Sachen. Sagt einfach, wo ihr Probleme habt ;-)

Was macht die Funktion __contruct?





Wie heißt die Funktion, mit welcher nicht gefundene Klassen nachgeladen werden können?





Was macht folgender Aufruf: Testklasse::show();?





Was machen Interfaces bei der OOP?





Wie kopiert man Objekte? Wir wollen aus $obj2 das gleiche, aber nicht das selbe Objekt machen wie $obj1.





Was ist ein Destruktor?





Wie kann man in PHP-Objekten neue Eigenschaften während der Laufzeit hinzufügen?





Wie überprüft man mit OOP in PHP, ob es sich um das gleiche Objekt handelt?





Von wo aus kann eine Eigenschaft zugegriffen werden, die als protected deklariert ist?





Was macht das Schlüsselwort final?







Viel Erfolg!


Weiterempfehlen
  1. Carsten
    7. September 2009 @ 19:26

    Sorry,

    aber einige deiner “richtigen” Antworten sind leider falsch…

    Z.B. Wie kann man überprüfen, ob es sich um das gleiche Objekt handelt. Mit === natürlich! Es sind noch ein paar mehr Fehler drin, am besten die Doku nochmal ordentlich studieren, bevor man Tutorials schreibt!

    Grüße
    Carsten

  2. Stefan Wienströer
    7. September 2009 @ 19:47

    Ich wusste, dass da jemand drauf reinfällt^^ Das gleiche Objekt muss nicht unbedingt immer dasselbe sein ;-)

    Hab übrigens vorher nochmal die Doku durchgeschaut, damit keine Fehler reinkommen / manche Fragen sind mir dadurch erst eingefallen

  3. Carsten
    7. September 2009 @ 22:11

    “Das gleiche Objekt” entspricht einem Vergleich der Objektidentität, was man nunmal mit “===” macht. “==” vergleicht die Werte sämtlicher Objektattribute und das ist was anderes.

  4. Heiko
    8. September 2009 @ 11:09

    Man… Wie blöd… Nicht richtig gelesen…
    Bei der letzten Frage habe ich mir nur die erste Antwort durchgelesen und gedacht: “Ja, das ist richtig!”. Ich hätte weiterlesen sollen :-(

  5. Bartek
    8. September 2009 @ 14:03

    Darüber hinaus beschreiben Interfaces in PHP nur welche Methoden ein Objekt implementieren muss, nicht aber die Eigenschaften.

  6. Stefan Wienströer
    8. September 2009 @ 18:31

    @Carsten: Mit gleich meine ich nichts anderes als gleiche Objektattribute. === prüft jedoch, ob es die selbe Instaz ist, also z.B. so:

    $obj1 = new Object();
    $obj2 = $obj1;
    $obj3 = new Object();

    Folgendes geht:
    $obj1 === $obj2;
    $obj1 == $obj2;
    $obj1 == $obj3;

    Jedoch nicht
    $obj1 === $obj3;

    Siehe
    http://www.php.net/manual/de/language.oop5.object-comparison.php

    @Heiko: Solche Fehler kenn ich nur zu gut^^

    @Bartek: Hast Recht, da hab ich nicht genau hingeschaut. Werd’s ändern.

  7. Peppie
    8. September 2009 @ 21:29

    hmpf nur 7/10 :( das ist peinlich. Vorallem bei der letzten frage, die hätte ich mal genauer lesen sollen -.-

  8. Carsten
    9. September 2009 @ 12:28

    @Stefan: Vielleicht solltest Du etwas tiefer in die objektorientierte Programmierung eintauchen. Die Spitzfindigkeiten der deutschen Sprache, wie mit “das Gleiche” und “das Selbe” gibt’s da so nämlich nicht, auch wenn ich schon verstehe worauf Du hinaus willst. “Das gleiche Objekt” und “zwei Objekte sind gleich” sind zwei völlig verschiedene Sachen. Ersteres prüft man per ===, das Zweite mit ==.

  9. Stefan Wienströer
    9. September 2009 @ 12:43

    Ich glaub ich ersetz die Frage mit einer anderen. Werd das ganze Problem dann nochmal richtig testen und demnächst nen eignen Beitrag darüber schreiben ;-)

  10. Carsten
    9. September 2009 @ 13:55

    Ich glaub Du hast das schon richtig verstanden, bloß eben falsch ausgedrückt.

  11. antu
    9. September 2009 @ 20:05

    Es heißt Destruktor, nicht Dekonstruktor. :P

    Aber ansonsten ein nettes Quiz. Das man auch ganze Klassen mit final nicht-ableitbar machen kann, wusste ich gar nicht.

  12. Stefan Wienströer
    9. September 2009 @ 20:06

    Ups verschrieben, werds verbessern

    Hab durchs erstellen des Quizzes auch was dazu gelernt^^ Muss glaub ich mal öfters sowas machen.

  13. Daniel Busch
    14. September 2009 @ 08:39

    Ich bin mit 6/10 kompetent. Und das als greenhorn in Sachen PHP und OOP.

  14. Stefan Wienströer
    14. September 2009 @ 19:34

    Jetzt gibt’s Daniel sogar mit Bild, haste meinen Gravatar-Artikel gelesen?^^

  15. Daniel Busch
    16. September 2009 @ 08:38

    Jep. Das Gehirnmonster ging mir auf den Keks. Aber ich habe erst mal ein Bild mit meinem Hochzeitsanzug (ein Jahr und 2 Monate her). Werde mal ein anders suchen.

  16. Stefan Wienströer
    16. September 2009 @ 12:37

    Mein Bild ist auch schon ewig alt. Denke so ca. 3 Jahre müsste es her sein.

Hinterlasse einen Kommentar

Laden...