Si tu donnes de la viande à manger à une vache par ce principe
class Nouriture {}
class Viande extends Nouriture {}
class Herbe extends Nouriture {}
class Animal { void mange(Nouriture) }
class Vache extends Animal { void mange(Herbe) }
Animal margueritte = new Vache
Viande farine_animale = new Viande
margueritte.mange(farine_animale)
le verificateur de types laissera passer mais lors de l'exécution tu auras une erreur de type. Si tu faisais la même chose avec des casts tu aurais aussi une erreur de type de toute façon.
PS: c'est pas interdit de plusser les gens qui passent du temps a essayer d'expliquer des choses (même si c'est parfois obscur) :)
[^] # Re: Java et Linux
Posté par MrTout . En réponse au journal Java et Linux. Évalué à 1.
class Nouriture {}
class Viande extends Nouriture {}
class Herbe extends Nouriture {}
class Animal { void mange(Nouriture) }
class Vache extends Animal { void mange(Herbe) }
Animal margueritte = new Vache
Viande farine_animale = new Viande
margueritte.mange(farine_animale)
le verificateur de types laissera passer mais lors de l'exécution tu auras une erreur de type. Si tu faisais la même chose avec des casts tu aurais aussi une erreur de type de toute façon.
PS: c'est pas interdit de plusser les gens qui passent du temps a essayer d'expliquer des choses (même si c'est parfois obscur) :)