Conceito de extensão, derivação, implementação

image
Obs.: não quero a resposta, quer apenas entender.
Poderia dar um exemplo?

Penso que seja derivação por “derivar” os atributos e métodos - um conceito de reutilização.
Superclasse generalista e subclasse especialista.

A pode ser Object.

B pode ser String.

uma String É UM Objeto.

se vc olhar aqui:

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

vai ver que alguns metodos vem direto de Object como

wait:

https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#wait()

no java vc pode usar qualquer objeto como Lock, inclusive ele mesmo ( metodo/block syncronized ). quando vc ver Threads e Programação Concorrente vc vai ver.

outro exemplo: finalize

https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#finalize()

provavelmente o finalize da String não faz nada, como do Object. mas vc pode querer liberar recursos quando um dado objeto for recolhido pelo garbage collector.

então, existem comportamentos definidos em Object que a String vai utilizar. E a String em si define novos comportamentos e adiciona novos metodos.

podemos dizer que String é derivada de Object nesse caso. ficou claro?

2 curtidas