Herança ( tem-um, e-um)

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.

Politicamente e corretamente falando …eu dirira

A tem um C
B é um A

Não existem outras considreções após isso…

Blz?
O item:

Não está correto, visto que na classe a não existe nenuhm atributo do tipo B

a classe A não conhece a classe B e sim a Classe B conhece a classe A (herança = extends)

A 4 está errada como o amigo acima falou.

Vc pode afirmar que

“ClasseA é superclasse de ClasseB, pois ClasseB é derivada de ClasseA.”

Até mais!

[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)