Rappels TD2
Stay DRY : Don't repeat yourself
![](https://media2.giphy.com/media/hOzfvZynn9AK4/giphy.gif)
Composition
&
Héritage
![](https://media.giphy.com/media/zjSpmn7zHYBnG/giphy.gif)
public class Humain {
private String name;
public Humain(String pName) {
name = pName;
}
public String commentTappellesTu() {
return "Je m'appelle "+name+ " and I'm only human after all";
}
}
Humain humain = new Humain("Mickey");
System.out.println(humain.commentTappellesTu());
--> Je m'appelle Mickey and I'm only human after all
![](https://s3.amazonaws.com/media-p.slid.es/uploads/492582/images/4593456/giphy-5.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/492582/images/4593475/Untitled_Diagram-6.png)
public class SuperHero extends Humain {
private String pouvoir;
public SuperHero(String pName, String pouvoir) {
super(pName);
this.pouvoir = pouvoir;
}
public String getPouvoir() {
return "Mon pouvoir magique est : "+pouvoir;
}
}
Humain humain = new SuperHero("Peter Parker", "araignée");
System.out.println(humain.commentTappellesTu());
--> Je m'appelle Peter Parker and I'm only human after all
![](https://s3.amazonaws.com/media-p.slid.es/uploads/492582/images/4593480/Untitled_Diagram-7.png)
![](https://media1.giphy.com/media/l0HUfRgRh7BI7HINq/giphy.gif)
public class Batman extends SuperHero {
private String pouvoir;
public Batman(String pName, String pouvoir) {
super(pName, pouvoir);
}
public String commentTappellesTu() {
return "Je m'appelle Batman";
}
}
Humain humain = new SuperHero("Bruce Wayne", "la richesse");
System.out.println(humain.commentTappellesTu());
--> Je m'appelle Batman
![](https://media.giphy.com/media/fDzM81OYrNjJC/giphy.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/492582/images/4593527/Untitled_Diagram-8.png)
public class Batman extends SuperHero {
private String pouvoir;
public Batman(String pName, String pouvoir) {
super(pName, pouvoir);
}
public String commentTappellesTu() {
return "Je m'appelle Batman";
}
public boolean equals(Object obj){
return obj instanceof Batman;
}
}
Humain humain = new Batman("Bruce Wayne", "la richesse");
Batman batman = new Batman("Bruce Wayne", "bocou d'argent");
System.out.println(humain.equals(batman));
--> true
![](https://media.giphy.com/media/3o6Zt4B0tZYVO7DTkk/giphy.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/492582/images/4593557/Untitled_Diagram-9.png)
public String recupererPouvoir(Humain humain){
String result = null;
if(humain instanceof SuperHero){
result = ((SuperHero) humain).getPouvoir();
}
return result;
}
private -> class
-> package
protected -> package + héritage
public -> tout le monde
![](http://icons.veryicon.com/png/System/Childish/File.png)
![](http://icons.veryicon.com/png/System/Childish/Folder.png)
![](http://icons.veryicon.com/png/System/Childish/Folder.png)
![](http://icons.veryicon.com/png/System/Childish/File.png)
![](http://icons.veryicon.com/png/System/Webtoys/Planet.png)
And now ....
ABSTRACTION
INSA - 2ième année TD3
By Mickael Lecoq
INSA - 2ième année TD3
- 1,266