Please enable JavaScript.
Coggle requires JavaScript to display documents.
MM4 - herança - Coggle Diagram
MM4 - herança
Conversão entre classes
Implícita: quando desejamos fazer o cast de uma classe derivada para uma classe base. Isso ocorre porque a classe derivada possui tudo que a classe base possui, logo a conversão pode ser feita sem a perda de informações.
Conhecida como Upcasting(para cima, da classe filha para a pai), um tipo de cast sempre possível e seguro.
-
Explícita: quando desejamos fazer o cast de uma classe base para uma classe derivada. Isso deve ser feito de forma explícita porque nem tudo que temos na classe derivada, vamos ter na classe base. Logo, nessa conversão pode haver uma perca de informação.
Conhecida como Downcasting(de cima pra baixo, de pai pra filha), um tipo de cast que pode haver perda de informações, logo deve ser feito de forma explícita e com mais cuidado.
-
Um ponteiro do tipo da classe base pode apontar para o endereço de memória de uma classe derivada, mas não pode acessar os métodos da classe derivada a qual ele aponta, apenas para os métodos genéricos pertencentes a classe base.
-
Na hora de definir uma classe derivada, adicione apenas os membros publicos ou privados adicionais.
Quando chamar um método o compilador olhara primeiro na classe derivada, senão ouver um método na derivada ele busca na classe base. Mas se ouver tanto e na base quanto na derivada e você queira usar a da base, será necessário especificar.
Especialização: quando você declara um método na classe derivada que aprimora um método da classe base.
EX.: um método print que mostra as informações do objeto criado. Ao invés de refazer todos os cout, pode-se aproveitar o método print da classe base e add as novidades da classe derivada.
-
-
-
-