Amigos,
Tenho o seguinte código:
e gostaria de saber se minhas consierações estão corretas ?
class ClasseA
{
ClasseC c = new ClasseC();
public int id;
}
class ClasseC
{
public int name;
}
class ClassB extends ClasseA{
int getID()
{
return id;
}
}
consideraçoes:
1 - ClasseA tem-um ClasseC, pois a ClasseA tem uma variavel de intancia da ClasseC
2 - ClasseB tem-um ClasseC, pois a ClasseB é derivada da classeA, que TEM-UMA referencia
a classeC
3 - ClasseB é-uma ClasseA, pois a ClasseB extend a ClasseA
4 - ClasseA tem-um ClasseB, pois a ClasseA tem a ClasseB “dentro” dela.
Estou correto ? ou existe mais alguma itém que esqueci ?
Obrigado.
[quote=Wilhans]Amigos,
Tenho o seguinte código:
e gostaria de saber se minhas consierações estão corretas ?
class ClasseA
{
ClasseC c = new ClasseC();
public int id;
}
class ClasseC
{
public int name;
}
class ClassB extends ClasseA{
int getID()
{
return id;
}
}
consideraçoes:
1 - ClasseA tem-um ClasseC, pois a ClasseA tem uma variavel de intancia da ClasseC
2 - ClasseB tem-um ClasseC, pois a ClasseB é derivada da classeA, que TEM-UMA referencia
a classeC
3 - ClasseB é-uma ClasseA, pois a ClasseB extend a ClasseA
4 - ClasseA tem-um ClasseB, pois a ClasseA tem a ClasseB “dentro” dela.
Estou correto ? ou existe mais alguma itém que esqueci ?
Obrigado.[/quote]
assim o ponto 2 ta errado as variaveis nao são herdadas… apenas os metodos.
e o ponto 4, nao sei de onde você tirou isso hehe
[quote=LPJava][quote=Wilhans]Amigos,
(…)
2 - ClasseB tem-um ClasseC, pois a ClasseB é derivada da classeA, que TEM-UMA referencia
a classeC
(…)
4 - ClasseA tem-um ClasseB, pois a ClasseA tem a ClasseB “dentro” dela.
Estou correto ? ou existe mais alguma itém que esqueci ?
Obrigado.[/quote]
assim o ponto 2 ta errado as variaveis nao são herdadas… apenas os metodos.
[/quote]
Humm… os atributos (variáveis no corpo da classe) são herdados sim.
è portanto verdade que B tem um C. Na realidade, B tem um C porque B é um A e A tem um C (propriedade transitiva da herança).
Vc não pode sobreescrever attributos, mas pode ter acesso a eles, e isso é que define herança ( o acesso) não a possibilidade de modificar (isso é polimorfismo)