Instancier d'une classe fille

cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008 - 18 févr. 2008 à 13:45
SatanicPunker Messages postés 19 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 18 février 2008 - 18 févr. 2008 à 17:20
bonjour



j'ai une clesse fille de type absrtact
abstract class TRFPPProtocol extends TAbstractProtocol


abstract class TAbstractProtocol implements IDecodeBufferOUT


{


    //constructeur avec paramètre d'entrée buffer d'entrée


    TAbstractProtocol(int[] bufferIn) {};



}  

interface IDecodeBufferOUT


{


    boolean DecodeBuffer(int[] buffer, TCmdQueue FileAttente);


}



dans mon programme, je voulais instancier la classe fille TATHMProtocle; mais il m'affiche une erreure?



le code est comme suit:
public TATHMProtocole AthmProtocol = new TATHMProtocole();

 erreur q'il maffiche: TATHMProtocole is abstract; cannot be instantiated

Quelq'un peut me dire comment je dois faire?

merci

5 réponses

SatanicPunker Messages postés 19 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 18 février 2008
18 févr. 2008 à 14:27
Salut,






Tu ne peux pas instancier une classe abstraite, tu dois créer une sous-classe qui en hérite.
0
cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008
18 févr. 2008 à 14:33
bonjour


jai fait une erreur dans qu'on j'ai envoyé ma question


ma  clesse fille TRFPPProtocol  qui n'est pas absrtact, mais elle hérite d'une calsse TAbstractProtocol  qui est abstracte:
 class TRFPPProtocol extends TAbstractProtocol

mais j'ai  une errerur: pour ce code
public TATHMProtocole ATHMProtocole =  new TATHMProtocole ();


si tu as un exemple pourras tu me l'envoyer?

merci
0
SatanicPunker Messages postés 19 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 18 février 2008
18 févr. 2008 à 16:36
Si il te renvoit cette erreur, c'est que ton objet TATHMProtocole est abstract.
Donc il faudrait que tu crée un objet qui herite de la classe TATHMProtocole.

Mais j'ai pas bien compris le rapport entre TATHMProtocole et le code que tu as donné avant.
0
cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008
18 févr. 2008 à 16:42
bonjour




TATHMProtocole et

TRFPPProtocol  sont des 

classes  filles de la classe 

TAbstractProtocol qui est abstract....

alors je peux instancier directement de ces classes filles:


private TATHMProtocole ATHMProtocole =  new TATHMProtocole ();


c'est ça que je voulais savoir.


merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SatanicPunker Messages postés 19 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 18 février 2008
18 févr. 2008 à 17:20
Peut-être n'as-tu pas implémenter toutes les méthodes de ta classe abstraite dans tes classe filles.



Si tu veux qu'une classe héritant d'une classe abstraite soit reconnu comme concrete, il faut que tu code toutes les méthodes de ta classe abstraite dans ta classe fille.

D'après ce que je vois, tu as mis un constructeur paramétré dans ta classe abstraite.

A mon avis, tu dois implémenter le constructeur de ta classe abstraite.
0
Rejoignez-nous