La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de.

Présentations similaires


Présentation au sujet: "1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de."— Transcription de la présentation:

1 1 Quelques précisions sur l'héritage

2 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de la super-classe directe de la classe qui masque f() (ici B) D d = new D(); d.g(); d.f(); A B C D f(){...} f(){super.f()...... } g(){f()....} d.f() -> f() de C f() de A d.g() -> g() de B f() de C

3 3 Niveaux de protection private (privé): accessible seulement par les méthodes de cette classe rien (package): accessible seulement par les méthodes des classes du même package protected (protégé): accessible seulement par les méthodes des classes du même package et des classes dérivées public (publique): accessible sans restriction Convention : pour l'instant les attributs sont privés (sauf éventuellement des constantes)

4 4 Rédéfinition de méthode Une redéfinition se fait sans changer - ni la liste de paramètres - ni le type de retour - par contre la protection peut être affaiblie (package -> protégée -> publique)

5 5 Peut-on "redéfinir" une méthode privée? En fait c'est comme si B définissait une nouvelle méthode A B private f() public f() super.f() impossible car f() privée en A { super.f()....}

6 6 Ne pas confondre surcharge (overloading) et redéfinition (overriding) A B public void f(int a) public void f(String b) Une instance de B possède 2 méthodes f surcharge B b = new B(); b.f(5); b.f("5"); //f de A // f de B


Télécharger ppt "1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de."

Présentations similaires


Annonces Google