Visualizzazione dei risultati da 1 a 3 su 3

Discussione: classi ereditate

  1. #1

    classi ereditate

    ho una classe A e una classe B che estende A.
    dentro la classe A ho un metodo definito nella parent.
    ma in questo metodo dentro la parent sembra che il riferimento all'istanza (della classe figlia) tramite $this non funzioni.
    come si aggira l'ostacolo?
    si vivono molte vite e si muore una volta sola

  2. #2
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    codice:
    <?php
    class MyClass
    {
       protected function myFunc() {
           echo "MyClass::myFunc()\n";
       }
    }
    
    class OtherClass extends MyClass
    {
       // Override parent's definition
       public function myFunc()
       {
           // But still call the parent function
           parent::myFunc();
           echo "OtherClass::myFunc()\n";
       }
    }
    
    $class = new OtherClass();
    $class->myFunc();
    ?>

    [.:: JaguarXF ::.]
    __________________

  3. #3
    neanche io leggo benissimo i post prima di rispondere ehehehe...

    quello che volevo era poter definire il valore di una proprietà nella classe OtherClass e poterla riutilizzare nei metodi della madre, sensa passarla come argomento...

    esempio:

    codice:
    <?php
    class MyClass
    {
       protected function myFunc() {
           echo $this -> $argomento;
       }
    }
    
    class OtherClass extends MyClass
    {
       function __costruct ()
       {
          $this -> $argomento = "ciao!";
       } 
    
       function prova()
       {
          $this -> myFunc();
       }
    }
    
    $class = new OtherClass();
    $class->myFunc();
    ?>
    capit?
    si vivono molte vite e si muore una volta sola

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.