einführung zu oop mit php5

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    so habe ein paar korrekturen und anpassungen vorgenommen. instanceof und type hinting sind jetzt auch dabei.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #32
      Original geschrieben von Kropff
      habe ich auch gedacht nur einige leute definieren das mal wieder als nidrigste.
      Einige leute irren sich

      greets
      (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

      Kommentar


      • #33
        habe mein tutorial ein wenig umstrukturiert bzw. ergänzt und ein erstes praxisbeispiel eingebaut. noch nicht korrektur gelesen! falls der ein oder andere mal darüber schauen möchte. dann kommt auch bald mein neues design.

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #34
          Hi,

          ich hab mir das wiedermal durchgelesen und hab, wie soll es
          anders sein, ein paar kleine anmerkungen.

          > Überschreiben 2. Das Bespiel

          Da versteckt sich ein syntax-fehler in der methode returnPflege.

          PHP-Code:
          class Mensch
          {
              private 
          $gewaschen;
              private function 
          koerperpflege ($wert)
              {
                  
          $this -> gewaschen $wert;
                  return 
          $this -> gewaschen;
              }
              public function 
          returnPflege ($wert)
              {
                  
          $value $this -> koerperpflege $wert;
                  return 
          $value;
              }

          Du versuchst einer funktion einen wert zuzuweisen.

          Ganz generell zu dem kapitel. Auch wenn vll leute in der php-literatur
          das behaupten so handelt es sich hier nicht um overloading.
          Für den fall der methoden ist das ein beispiel für polymorphy.
          Du hast nämlich die methode nicht überladen sondern deren
          implementierung ist abhängig vom konkreten objekt.

          Überladung meint ein anderes verfahren bei dem der methodenname
          erhalten bleibt aber z.B. die anzahl und/oder art der parameter ändert, oder aber der rückgabewert. Diese überladung ist in
          php z.B. mittels func_get_args und einem dispatcher zu erreichen.


          > Iteratoren: Das Problem

          Da ist auch wieder ein syntax-fehler
          PHP-Code:
          class MyClass
          {
              public 
          $blubb 'blubber';
              public 
          $schwall 'laber';
              public 
          $jodelblah 'Hollahihü';

              protected 
          $finger_wech 'geht dich nichts an';
              private   
          $nee_is_nich   'das hier auch nicht';

              function 
          iterateVisible()
              {
                  foreach(
          $this as $key => $value)
                  {
                      print 
          $key.'-'.$value.'<br>';
                  }
              }
          }

          foreach (
          $vars as $key => $value)
          {
              echo  
          $key.'-'.$value.'<br>';
          }
          $vars -> iterateVisible(); 
          Du iterierst über eine nichtdefinierte variable $vars.
          Hier sollte erst das objekt erzeugt werden.

          Das handtaschenbeispiel ist etwas unglücklich.
          Hier wäre eine natürlichere art über den inhalt der handtasche
          zu iterieren einfach ein:
          PHP-Code:
          foreach($frau->getHandTasche() as $key => $value){

          Vorausgesetzt die frau gibt uns einfach ihre handtasche.
          Ich glaube hier wäre es nicht verkehrt wenn du dich von dem
          mensch-beispiel verabschiedest und ein anderes objekt verwendest.
          Auf jedenfall eine klasse bei der eine iteration über dessen objekte
          sinn macht. Also ein container für irgendwas.

          Wenn man beim letzten kapitel auf "weiter zum nächsten abschnitt"
          klickt bekommt man ein 404er für /site/oop/ueberladen.htm


          greets
          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

          Kommentar


          • #35
            so handelt es sich hier nicht um overloading
            ich habe mich da wohl unklar ausgedrückt. ich wollte zu beginn daruaf hinweisen, dass das in php kein overloading ist. werde das noch umformulieren.

            die anderen sachen schaue ich mir mal heute abend an.

            danke
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar

            Lädt...
            X