begin process at 2012 05 31 06:03:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

POO php5 classe abstraite et méthode static


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

POO php5 classe abstraite et méthode static

lundi 29 septembre 2008 à 15:22:46 | POO php5 classe abstraite et méthode static

dorian91

Bonjour à tous,
J'ai une petite question pour vous. Je vais vous écrire le code et vous expliquer mon problème

class Test1 extends Test2
{
}

abstract class Test2
{
   public static function test()
   {

   }
}

Mon problème est que j'arrive a appelé la méthode static de Test2 via Test1 avec Test1::test() si je fais un print 'salut'; ça marche.
Ma question est : est ce qu'on peut savoir qu'elle classe a appelé la méthode static test() (dans mon exemple Test1)
Lol je sais pas si j'ai été très clair  
Merci d'avance
A+
lundi 29 septembre 2008 à 22:28:42 | Re : POO php5 classe abstraite et méthode static

huberdine

Salut
Quand tu as plusieurs classes qui héritent d'une même classe parente, tu peux savoir (dans les méthode de la classe parente) quelle classe a appelé la méthode en faisant :
get_class($this)
mardi 30 septembre 2008 à 09:32:25 | Re : POO php5 classe abstraite et méthode static

dorian91

Salut huberdine J'ai essayé cette solution mais cela ne fonctionne pas il m'indique le nom de la classe abstraite
mardi 7 octobre 2008 à 16:48:44 | Re : POO php5 classe abstraite et méthode static

xmanoux

Salut dorian,
C'est normal que ça ne marche pas : quand tu accedes à $this, tu es "dans" la classe virtuelle, il te renvoie donc le nom de la classe virtuelle.
Mais ce que tu essayes de faire va "à l'encontre" de la logique de la programmation objet.
tu veux que "function test()" dans test2,  aie un comportement différent lorsqu'elle est appellée par test1 sa mère ? Il faut donc que tu la redéfinisses dans test1: cela s'appelle la spécialisation de methodes dans l'héritage de classes.


Cette discussion est classée dans : static, classe, méthode, test1, test2


Répondre à ce message

Sujets en rapport avec ce message

Problème de variables [ par WaNoU ThE EpSyLoN ] Bonjours à tous et à toutes,Comment faire pour qu'une variable définie dans une méthode d'une classe soit utilisable dans une autre méthode de cette m constante de classe à récupérer dans la classe parente [ par rekam ] Bonjour!oui, je sais, le titre fait 3km de long, mais j'ai de la peine à le raccourcir...Ainsi donc, voici mon problème: 1) J'ai 2 classe A et B2) La int > str [ par ICIoBRa ] exemple :$test1 = 2;$test2 = '0'.$test1;La variable $test2 est en fait une variable integer alors que je voudrais qu'elle soit string.Je voudrais simp Utilisation d'une méthode avec pour parametre un objet [ par aguiran ] Salut, Mon pb ressemble un peu à celui posé par Mandark le 11/02, mais je ne souhaite pour ma part, pas ré-instancier un objet dans dans une autre cl A quand la surdéfinition de méthode d'une classe PHP 5 [ par Nifhell ] Bonjou à tous,Je souhaiterais savoir s'il est possible comme en C++ de surdéfinir le constructeur d'une classe en PHP?D'apés mes essais de code, appar Méthode de connexion mySQLi [ par killman__37 ] Salut à tous,J'ai un petit souci, je souhaite faire une connexion persistante avec MySQLi, mais la syntaxe 'mysqli_pconnect()' n'existe pas, est ce qu Problème d'un script [ par stu76 ] Bonsoir,J'ai écris un petit script qui me permet d'afficher les élèves stocker dans une base de données. Mon prob est que l'affichage par classe fonct HELP !! générer une liste déroulante a partir d une autre liste deroulante [ par gabs77 ] bonjour, j ai besoin d aide je ve faire des listes deroulantes dynamiques et le plus simplement possiblesje ve faire une liste deroulante auquel appar Authentification sécurisée [ par arnold002 ] Bonjour à tous,J'ai mis en place un système d'authentification par login et mot de passe pas vraiment sécurisé.J'ai trouvé sur le web une méthode qui Visibilité des membres d'une classe avec autoload ? [ par petitelarve ] Bonjour, ca m'énérve !!! J'ai une classe que je veut instancier dans un autre script avec autoload. L'objectif étant de récupérer des variables tablea


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales