Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| poo:start [2017/08/07 21:46] admin | poo:start [2017/08/08 07:54] (Version actuelle) admin [MVC (Modèle - Vue - Contrôleur)] | ||
|---|---|---|---|
| Ligne 15: | Ligne 15: | ||
| ===== Héritage ===== | ===== Héritage ===== | ||
| - | * Polymorphisme | + | * [[Substitution]] (Redéfinition) | 
| - | * Rédéfinition | + | * [[Surcharge]] (Polymorphisme ad-hoc) | 
| - | * Surcharge | + | |
| * [[Classes abstraites]] | * [[Classes abstraites]] | ||
| Ligne 138: | Ligne 137: | ||
| <code> | <code> | ||
| - | class Capitale extends Ville { | + | public class Capitale extends Ville { | 
| + | |||
| private String monument; | private String monument; | ||
| - | + | ||
| + | //Constructeur par défaut | ||
| public Capitale(){ | public Capitale(){ | ||
| - | //Ce mot clé appelle le constructeur de la classe mère | + | //Ce mot clé appelle le constructeur de la classe mère | 
| super(); | super(); | ||
| monument = "aucun"; | monument = "aucun"; | ||
| - | } | + | } | 
| + | |||
| + | //Constructeur d'initialisation de capitale | ||
| + | public Capitale(String nom, int hab, String pays, String monument){ | ||
| + | super(nom, hab, pays); | ||
| + | this.monument = monument; | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * Description d'une capitale | ||
| + | * @return String retourne la description de l'objet | ||
| + | */ | ||
| public String decrisToi(){ | public String decrisToi(){ | ||
| - | String str = super.decrisToi() + "\n \t ==>>" + this.monument+ " en est un monument"; | + | String str = super.decrisToi() + "\n \t ==>>" + this.monument + "en est un monument"; | 
| - | Console.WriteLine("Invocation de super.decrisToi()"); | + | |
| - |  | + | |
| return str; | return str; | ||
| - | } | + | } | 
| + | |||
| + | /** | ||
| + | * @return le nom du monument | ||
| + | */ | ||
| + | public String getMonument() { | ||
| + | return monument; | ||
| + | } | ||
| + | |||
| + | //Définit le nom du monument | ||
| + | public void setMonument(String monument) { | ||
| + | this.monument = monument; | ||
| + | }  | ||
| } | } | ||
| </code> | </code> | ||
| + | <WRAP center round important 60%> | ||
| + | Dans la plupart des langages de programmation récents, il n'est possible d'hériter que d'une seule classe mère. Il faut donc utiliser les [[poo:interfaces|interfaces]] pour répondre au mieux à l'architecture. | ||
| + | </WRAP> | ||
| + | |||
| Ligne 162: | Ligne 188: | ||
| * [[Interfaces]] | * [[Interfaces]] | ||
| - | ===== MVC (Modèle - Vue - Contrôleur) ===== | ||
| + | |||
| + | ===== Tests unitaires ===== | ||
| + | FIXME https://openclassrooms.com/courses/programmez-en-oriente-objet-avec-c/les-tests-unitaires-5 | ||
| + | |||
| + | |||
| + | |||
| + | ===== MVVC (Modèle - Vue - Vue/Contrôleur) ===== | ||
| + | FIXME | ||