Please enable JavaScript.
Coggle requires JavaScript to display documents.
Herança - Coggle Diagram
Herança
Membros protegidos
são usados para acessar os membros da classe base dentro da classe derivada (mas permanecem inacessíveis para os objetos das classes derivadas, assim como os membros privados).
-
-
Na classe derivada: Membros protegidos também podem ser acessados nas classes que herdam a classe base, permitindo que as subclasses modifiquem ou utilizem esses membros.
Externo à hierarquia de herança: Membros protegidos não podem ser acessados diretamente por objetos fora da hierarquia de herança (ou seja, objetos de outras classes ou instâncias), nem mesmo por outras classes que não são subclasses.
-
Tipos de herança
Pública: Os membros públicos e protegidos da classe base permanecem acessíveis com as mesmas permissões.
-
-
Principais estruturas
classes bases
Uma classe base é uma classe que fornece atributos e métodos que podem ser herdados por outras classes. Essa herança permite que as classes derivadas reutilizem o código e expandam suas funcionalidades.
classes derivadas
Uma classe derivada é criada a partir de uma classe base. Ela herda os membros da classe base (dependendo dos níveis de acesso) e pode adicionar novos membros ou modificar o comportamento existente.
Vantagens.
-
-
-
A classe derivada aproveita o código da classe base, evitando duplicação de lógica.
Conversão implícita
Por que ocorre a conversão implícita?
A conversão implícita de uma classe derivada para sua classe base é possível porque a classe derivada herda todas as características da classe base (ou seja, ela é uma extensão da classe base). Como a classe derivada tem todas as propriedades e métodos da classe base, é possível "substituí-la" por um objeto da classe base sem perder a compatibilidade.
-
-
-
Upcasts e downcasts
Upcasts: "Conversão para cima" ou "Upcasting"
Refere-se ao processo de converter um objeto de uma classe derivada para um tipo de classe base. É uma conversão implícita e segura, já que a classe derivada é uma extensão da classe base.
Downcasts: "Conversão para baixo" ou "Downcasting"
Refere-se ao processo de converter um objeto de uma classe base para um tipo de classe derivada. Isso pode ser perigoso porque a classe base pode não conter todos os membros e comportamentos da classe derivada, e geralmente requer uma conversão explícita
-
A redefinição ocorre quando uma classe derivada define um método com o mesmo nome de um método já existente na classe base. Isso permite que o comportamento do método seja personalizado para a classe derivada, enquanto ainda mantém a assinatura original.
O operador :: é usado para acessar explicitamente membros ou métodos da classe base, mesmo se eles forem redefinidos na classe derivada.
Quando você redefine um método, o compilador usará o método da classe derivada, a menos que você indique explicitamente que deseja chamar o método da classe base.