Je le lis toujours quand je l'explique, donc je le résume
** Manière courante d'envoyer des messages **
--Mécanisme de partage des messages passés aux classes enfants lors de la création d'une classe parent --Mécanisme de partage de messages à l'aide d'interfaces (en Java)
** Établi comme un verbe pour chacun des concepts supérieur et inférieur **
Un verbe commun tient
--Par exemple, "animal", "humain" et "chien"
J'ai une coupe
--Une option (informations supplémentaires) établit un comportement unique --Par exemple, "animal", "humain" et "chien" ―― "Animal" "mange" -> On ne décide pas comment manger
** L'instance qui reçoit l'argument se comporte différemment selon la classe **
Établi avec un nom de méthode commun
Animal.java
public abstract class Animal {
public abstract void eat();
}
Human.java
public class Human extends Animal {
public void eat() {
System.out.println("Manger croustillant");
}
}
Dog.java
public class Dog extends Animal {
public void eat() {
System.out.println("Gab flottant");
}
}
Chef.java
public class Chef {
public void serve(Animal animal) {
System.out.println("S'il vous plaît");
System.out.println(animal.eat());
}
}
Eater.java
public interface Eater {
public void eat();
}
Human.java
public class Human implements Eater {
public void eat() {
System.out.println("Manger croustillant");
}
}
Dog.java
public class Dog implements Eater {
public void eat() {
System.out.println("Gab flottant");
}
}
Chef.java
public class Chef {
public void serve(Eater eater) {
System.out.println("S'il vous plaît");
System.out.println(eater.eat());
}
}
Résumé des raisons pour lesquelles nous le rendons orienté objet
Akira Hirasawa (Auteur) Pourquoi le rendre orienté objet, 2e édition https://amzn.to/2VSrzwe
Même les modèles de conception et la refactorisation peuvent être bien appliqués si vous avez cette perspective.
Recommended Posts