Como a herança Trabalho em C ++?

Eunheritance Em C ++ a capacidade de uma classe para herdar capacidades ou propriedades de outra classe. Herança é um conceito comum. Você herda certas propriedades da classe Humano, tal como a minha capacidade de conversar (mais ou menos) de forma inteligente e minha dependência de ar, água e alimento à base de hidratos de carbono (um pouco dependente também sobre este último).

Essas propriedades não são exclusivas para os seres humanos. A classe Humano herda as dependências do ar, água e alimento da classe Mamífero, que herdou da classe Animal.

A capacidade de passar para baixo propriedades é um poderoso. Ele permite que você para descrever as coisas de uma maneira econômica. Por exemplo, se alguém pergunta, # 147 O que é um pato? # 148- Você pode dizer, # 147 É um pássaro que vai quack # 148.;

Apesar do que você pode pensar, essa resposta transmite uma quantidade considerável de informações. Ele sabe o que é um pássaro, e agora ele conhece todas essas mesmas coisas sobre um pato mais propriedade adicional do pato de # 147 quackness # 148.;

(OO) linguagens orientadas a objetos expressar esta relação de herança, permitindo uma classe para herdar de outra. linguagens OO pode gerar um modelo que é mais perto do mundo real (lembre-se que o material do mundo real!) do que o modelo gerado por linguagens que não suportam herança.

C ++ permite que uma classe para herdar outra classe da seguinte forma:

classe Student {} - classe GraduateStudent: Estudante pública {} -

Aqui um Estudante graduado herda todos os membros do Aluna. Assim, uma Estudante graduado É UMA Aluna. (A capitalização de is_a salienta a importância dessa relação.) Naturalmente, Estudante graduado também pode conter outros membros que são únicas para um Estudante graduado.

A herança foi introduzido no C ++ para várias razões. É claro, a razão principal é a capacidade de expressar a relação de herança. Um motivo secundário é reduzir a quantidade de digitação.

Suponha que você tem uma classe Aluna, e você está convidado a adicionar uma nova classe chamada Estudante graduado. A herança pode reduzir drasticamente o número de coisas que você tem que colocar na classe. Tudo o que você realmente precisa na classe Estudante graduado são coisas que descrevem as diferenças entre alunos e estudantes de pós-graduação.

Outro efeito colateral tem a ver com a modificação do software. Suponha que você herdar de uma classe existente. Mais tarde, você achar que a classe base não fazer exatamente o que a subclasse precisa. Ou talvez a classe tem um bug.

Modificando a classe base pode quebrar outro código que usa essa classe base. Criação e utilização de uma nova subclasse que sobrecarrega o recurso errado com uma versão corrigida resolve o seu problema sem causar alguma outra pessoa mais problemas.

menu