Please enable JavaScript.
Coggle requires JavaScript to display documents.
POO, PHP, Classes et techniques utilitaires - Coggle Diagram
Héritage & Interfaces
- Méthodes et classes abstraites -
abstract
- Elles ne peuvent être instanciées. Leurs but est de généraliser d'autres class en devenant leurs class parent.
- Un objet va pouvoir être traité indifféremment comme une instance de la classe enfant ou de la classe parent ou l'une de ses interfaces.
Voiture peugeot206 = new Voiture(); VehiculeAMoteur peugot307 = new Voiture(); Vidangeable peugeot508 = new Voiture();
- Va simplement permettre lors de l'exécution de savoir si un objet est issu immédiatement ou dans sa hiérarchie d'héritage d'un type précis. Si je veux tester que rabbit est un Rabbit
alert( rabbit instanceof Rabbit );
Si je veux tester que amarable n'est pas un Bateau if (!(amarable instanceof Bateau)) {...}
- L'interface représente une capacité donnée à une class. Les interfaces ont souvent un nom qui se terminent par ...able (Comparable / Serializable...). Une classe peut implémenter plusieurs interfaces.
public class Voiture extends VehiculeAMoteur implements Vidangeable, Amarable {}
. Contrairement au class, une interface peut hériter de multiple autres interfaces. C'est ce qu'on appelle les interfaces Drapeau.
- Pouvoir bénéficier d’une méthode de la classe parente, pour la réécrire et modifier le type de retour.
- Héritage et constructeurs -
super
- Une classe enfant, hérite des propriétés et des méthodes d'une classe parent. Mais pas automatiquement de ses constructeurs. Pour éviter de répéter 2x le même on peut utiliser le mot clé
super
, qui permet lors de l'exécution de faire référence à la classe parente -notamment - pour en invoquer un constructeur.
- Transtypage explicite doit être fait manuellement en plaçant le type entre parenthèses devant la valeur: `double d = 2.69; int i = (int)d;`
- Transtypage implicite se fait automatiquement lors du passage d’un type de plus petite taille à un type de plus grande taille; `int i = 2; double d = i;`
- La délégation : technique pour regrouper 2 parents
- L’héritage qualifie la nature d'une classe. Elle hérite toujours d'une et une seule autre classe. Si elle n'a pas de parent explicite (pas de extends) elle hérite par défaut de la class mère Objet (extends Object)
Class & Objets
- C’est une opération ou une activité qui caractérise la classe. Une méthode peut retourner une seule valeur mais peut bénéficier de plusieurs paramètres. On peut surcharger une méthode static
- "Celui-ci" -> permet de faire référence à un objet en cours d'utilisation
- Propriétés sous formes d'objet
- On encapsule des propriétés dans une classe pour qu'une autre classe puisse y avoir accès avec une instance pour obtenir un objet de type objet. - EXEMPLE :
public class Voiture { Moteur moteur;}
et dans le main : Moteur moteur = new Moteur();
- Des méthodes qui références des objets
- Les méthodes de nos classes peuvent elles aussi impliquer des objets, autant dans les paramètres qu'elles reçoivent en entrée que dans le résultat qu'elles fournissent en retour.
- EXEMPLE : on a une class Passager, une class Ville, et dans la class Voiture, on a la méthode.
Ville transporter(Passager passager, Ville villeDeDepart) { System.out.println(passager.prenom + " " + passager.nom); System.out.println("Nous avons rdv à " + villeDeDepart.nom); Ville villeDeDestination = new Ville(); villeDeDestination.nom ="Paris"; return villDeDestination; }
-
new Voiture();
est un constructeur sans paramètres. Il est possible de construire un objet en indiquant des paramètres lors de la construction. Je peux ajouter autant de constructeurs que je le souhaite mais il ne peut y avoir 2 paramètres de même nature/type.
- On créer un objet - une instance de classe - à partir avec le mot-clé
new
- La Classe c’est la définition de l’objet qui contient le nom des propriétés et méthodes qu’on pourra manipuler.
-
-
-
Structure de contrôle
-
System.out.prinl( ageDuCapitaine > 20 && age < 50 ? "L'age du capitaine est " + ageDuCapitaine : "Il ne fait pas son age" );
- On parle de complexité cyclomatique : nombre de condition imbriquées la limite est 7 pour la lisibilité
-
-
-
-
-