06/12/10 18:28
killer
quindi è scorretto dire che
Cuore extends Corpo? ( ereditarieta ) ?
mmm..difficile sta cosa..come le rappresento strutturalmente ? alcuni mi dicono Aggregazione....bo..non ci sto capendo nulla..xD..mi faresti capire per bene
? anche praticamente come logica
..grazie
Ultima modifica effettuata da killer 06/12/10 18:29
aaa
06/12/10 18:57
nihal
Bè in questo caso è aggregazione... Il cuore non è una specializzazione del corpo umano, bensì è una parte di esso che si aggrega... Al massimo, la classe Cuore può implementare un'interfaccia generica ParteDelCorpo, ma questo non c'entra... Come criterio generale potresti vederla così: quando una classe è una versione più specifica di un'altra più generica (Animale-Mammifero-Cane ecc.), allora è sicuramente ereditarietà; al contrario, se in una classe utilizzo oggetti esterni e istanziati da altre classi (quindi non metodi statici come per Math), si parla di aggregazione.
aaa
06/12/10 19:33
killer
quindi se non erro dovrei aver capito adesso...
in pratica cercando di fare qualche esempio..
1-public class Mammifero extends Animale
2-public class Fegato extends Organo
3-public class Pistone extends Motore
4-public class Lamborghini extends Auto
per le prime e 4 si parla di ereditarieta..sono giuste? il concetto e questo?
poi a seguire
5-public class Tastiera extends ComputerFisso
Tipo t=new Tipo("...."
......etc....
qui si parla di aggregazione ?
e
la
6- public class Numeri extends Generatore{
Math........ utilizzandolo in maniera statica , la classe Numeri 'dipenderebbe' da Math ?
anche dovendo derivare da Generatore ?
}
Ultima modifica effettuata da killer 06/12/10 19:35
aaa
06/12/10 20:25
nihal
Le prime 4 vanno bene tranne quella del pistone: il pistone non è un particolare tipo di motore, è una parte del motore, quindi è aggregazione... La stessa cosa nel computer: la tastiera va aggregata al pc, quindi non si usa la extends.
aaa
06/12/10 20:33
killer
e cosa si utilizza al posto di extends ?
aaa