Ma question est. Sont-ils les mêmes?Le problème de compréhension s'étend et instancie. Est-ce la même chose que l'instanciation d'une classe?
public class Pet {
}
public class Fish extends Pet {
}
Si je tends la classe Pet à ma classe de poisson, est la même chose que si j'instancier la classe Pet dans ma classe de poisson? L'extension est au-dessus et l'instancié est en dessous. Sont-ils les mêmes?
public class Pet {
}
public class Fish {
Pet myPet = new Pet();
}
Non, ils ne sont pas identiques. Vous devez faire un peu de lecture sur ce que l'héritage est dans la POO. – alzee
Lorsque vous étendez une classe, vous définissez une autre classe (sous-classe) qui hérite de certains attributs et méthodes de la première classe. Lorsque vous instanciez une classe, vous créez un nouvel objet (instance) de cette classe. Dans votre code, dans le premier cas vous créez une nouvelle classe nommée Fish qui a des choses communes (héritées) avec la classe Pet, alors Fish est une sous-classe de Pet, alors que dans le second cas vous créez une nouvelle classe , également nommé Fish, qui n'a pas de points communs avec Pet, mais il possède un attribut nommé myPet de type Pet. –
Composition de Google vs héritage – StaticBeagle