Ankündigung

Einklappen
Keine Ankündigung bisher.

abstrakte methode

Einklappen

Neue Werbung 2019

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

  • abstrakte methode

    hallo,

    ich bin noch ein newbie und frage mich was an diesem code falsch ist
    PHP-Code:
    <html>
    <head>
    <title>
    Mit Zahlen arbeiten </title>
    </head>
    <body>
    <?php

    class Zahl{
        abstract function 
    addieren($add);
    }

    class 
    GanzeZahl extends Zahl{
        var 
    $wert;
        
    fuction addieren($add){
            
    $this->wert+=$add->wert;
            return 
    $this->wert;
        }
    }

    ?>
    </body>
    </html>
    wo liegt der fehler???

    kann mir jemand ein gutes tutorial nennen????


  • #2
    hä?

    Was für eine Fehler? du musst schon sagen, was passiert was nicht passieren soll etc..

    Kommentar


    • #3
      Ich habe eine klasse zahl, in der die abstrakte methode addieren ist.
      Diese methode wird in einer von zahl abgeleiteten klasse nämlich GanzeZahl implementiert.
      Später möchte ich das programm mit einigen probeaufgaben zum ausführen bringen.

      Der fehler:
      Fatal error: Class Zahl contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Zahl::addieren) in C:\Programme\xampp\htdocs\meinphp\zahlen.php on line 11
      das ist die zeile mit der geschweiften klammer, die die klasse zahl zumachen soll.

      Kommentar


      • #4
        Aus class Zahl musst du abstract class Zahl machen.
        Das geht übrigens auch aus der Fehlermeldung hervor..

        Weiterhin hasst du dich ein Stück weiter unten vertippt, es heißt function und nicht fuction

        Kommentar


        • #5
          danke jetzt klappts auch.
          Aber meine frage noch: muss die klasse auch immer abstract sein, wenn es eine abstracte methode enthält???

          Kommentar


          • #6
            Ja.

            Kommentar


            • #7
              Zitat von infostud
              muss die klasse auch immer abstract sein, wenn es eine abstracte methode enthält???
              Selbstverständlich. Ist doch auch total logisch.

              Wenn du eine Klasse hast, die z.B. eine abstrake Methode do() hat ... die Klasse selbst aber nicht abstrakt ist.
              Was sollte man dann bitte hierbei machen?

              PHP-Code:
              <?php

                  $obj 
              ClassA();
                  
              $obj->do();

              ?>
              *ploink* ... ja Mist, die Methode do() ist ja gar nicht implementiert.
              Dämmerts?
              privater Blog

              Kommentar


              • #8
                Zitat von Ben
                Zitat von infostud
                muss die klasse auch immer abstract sein, wenn es eine abstracte methode enthält???
                Selbstverständlich. Ist doch auch total logisch.
                Bei c++ gibt es diese zusätzliche Markierung beispielsweise nicht.

                Kommentar


                • #9
                  Ich habe das auch glaub ich falsch verstanden. Komme da jetzt gerade drauf, wo du von "Markierung" sprichst.

                  Ging es darum, ob eine Klasse als "abstract" definiert werden muss oder darum, ob eine Klasse "abstrakt" ist, wenn eine Methode als "abstract" definiert wurde?
                  privater Blog

                  Kommentar


                  • #10
                    hallo,
                    ich habe eine funktion zum addieren in einer datei.
                    PHP-Code:
                    class GanzeZahl extends Zahl{
                        var 
                    $wert;
                        function 
                    addieren($add){
                            
                    $this->wert+=$add;
                            return 
                    $this->wert;
                        } 
                    Durch eine Formularabfrage möchte ich, dass diese funktion addieren aufgerufen wird sobald der Radiobutton der Addition betätigt wird.

                    Wie werden diese beiden dateien verknüpft (ich meine nicht die action="...." - Zeile)

                    Wie sieht das in php aus?

                    Kommentar


                    • #11
                      http://www.usegroup.de/software/phpt....html#abstract

                      Abstrakte Klassen werden nicht instanziiert, sie dienen nur dazu, gemeinsame Methoden und Eigenschaften zu definieren, die später von einer Anzahl ähnlicher Erben verwendet werden.

                      Kommentar


                      • #12
                        Zitat von infostud
                        hallo,
                        wie nimmt man die eingabe eines benutzers entgegen???
                        in c wird das mit scanf und in c++ mit cin gemacht.
                        Wie macht man das in php???
                        Jetzt bitte nicht alle Deine Fragen in diesen einen Thread stecken.
                        Ist die Frage noch direkt mit dem alten Thema verbunden? Nein, also bitte neuen Thread mit neuem, passenden Titel erstellen.

                        Kommentar


                        • #13
                          Zitat von Zergling
                          http://www.usegroup.de/software/phptutorial/objektorientierung.html#abstract

                          Abstrakte Klassen werden nicht instanziiert, sie dienen nur dazu, gemeinsame Methoden und Eigenschaften zu definieren, die später von einer Anzahl ähnlicher Erben verwendet werden.
                          Jou. Das meinte ich damit. Habe ich ja eigentlich auch ausgedrückt.
                          privater Blog

                          Kommentar

                          Lädt...
                          X