Lar Finanças Pessoais Como funciona a herança no C ++? - dummies

Como funciona a herança no C ++? - dummies

Vídeo: Curso de C++ - Aula 32 - Construtor de cópias 2024

Vídeo: Curso de C++ - Aula 32 - Construtor de cópias 2024
Anonim

I herança em C ++ a capacidade de uma classe para herdar recursos ou propriedades de outra classe. A herança é um conceito comum. Você herda certas propriedades da classe Humana, , como minha capacidade de conversar (mais ou menos) de forma inteligente e minha dependência de alimentação por ar, água e carboidratos (um pouco dependente demais da última).

Essas propriedades não são exclusivas para humanos. A classe Human herda as dependências de ar, água e nutrição da classe Mamífero que a herdou da classe Animal.

A capacidade de passar para baixo propriedades é poderosa. Ele permite que você descreva as coisas de forma econômica. Por exemplo, se alguém pergunta: "O que é um pato? "Você pode dizer:" É um pássaro que vai curtinho. "

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

As linguagens orientadas a objetos (OO) expressam esse relacionamento de herança, permitindo que uma classe herdar de outra. As linguagens OO podem gerar um modelo mais próximo do mundo real (lembre-se das coisas do mundo real) do que o modelo gerado por idiomas que não suportam a herança.

C ++ permite que uma classe herda outra classe da seguinte maneira:

classe Estudante {}; classe GraduateStudent: public Student {};

Aqui, um GraduateStudent herda todos os membros de Estudante. Assim, um GraduateStudent IS_A Aluno . (A capitalização do IS_A enfatiza a importância desta relação.) Claro, GraduateStudent também pode conter outros membros que são exclusivos de GraduateStudent .

A herança foi introduzida em C ++ por vários motivos. Claro, o principal motivo é a capacidade de expressar o relacionamento de herança. Um motivo menor é reduzir a quantidade de digitação.

Suponha que você tenha uma classe Estudante, e você é convidado a adicionar uma nova classe chamada GraduateStudent. A herança pode reduzir drasticamente o número de coisas que você deve colocar na classe. Tudo o que você realmente precisa na classe GraduateStudent 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ê herde de alguma classe existente. Mais tarde, você acha que a classe base não faz exatamente o que a subclasse precisa.Ou talvez a classe tenha um bug.

A modificação da classe base pode quebrar outro código que use essa classe base. Criar e usar uma nova subclasse que sobrecarrega o recurso incorreto com uma versão corrigida resolve seu problema sem causar mais problemas a alguém.

Como funciona a herança no C ++? - dummies

Escolha dos editores

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

ÀS vezes haverá não há problema em tirar o seu Canon Rebel T3 ou T3i fora e tirar fotos com configurações automáticas. A maior parte do tempo, você pode fazer com alguns ajustes simples. Alguns assuntos e situações de filmagem apresentam alguns desafios adicionais que exigem combinações de configurações mais complicadas. ...

Escolha dos editores

Obtendo o WordPress. org Software - dummies

Obtendo o WordPress. org Software - dummies

Depois de classificar seu host e domínio do site, você deve baixar e extrair os arquivos do WordPress pela WordPress. org e colocá-los no seu computador. Escolha um lugar que você lembrará, como um diretório de Documentos ou Download. Siga estas etapas: aponte seu navegador para o WordPress. org. A página principal do WordPress aparece. Clique em ...

Google AdSense para Bloggers de Mom - dummies

Google AdSense para Bloggers de Mom - dummies

Google O AdSense não é uma rede de anúncios orientada para a mãe, nem é A melhor opção de publicidade para a maioria dos blogs da mãe. Há certamente exceções a isso, especialmente se você blogar sobre produtos ou marcas. Todos os blogueiros que exibem publicidade devem ter um provedor de anúncios de backup - e o AdSense é uma ótima solução para essa necessidade. AdSense aprova ...

Relatório de conteúdo principal do google Analytics - dummies

Relatório de conteúdo principal do google Analytics - dummies

O relatório Top Content é um dos relatórios mais importantes no Google Analytics. Este relatório mostra as postagens mais populares no blog da sua mãe. Seu conteúdo popular dá uma visão do porquê seus leitores chegam até você. Os tópicos dessas postagens indicam o que as pessoas gostam, mesmo quando não comentam. Para visualizar ...

Escolha dos editores

Como fazer uma imagem disparar um link - as manequins

Como fazer uma imagem disparar um link - as manequins

Usam imagens para navegação . Eles são mais bonitos que os links de texto simples, e você pode adicionar a forma e a função na sua página com um elemento. Para criar uma imagem que desencadeia um link, você substitui um elemento no lugar do texto ao qual você ancoraria seu link. Esta marcação liga o texto: ...

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

O A web funciona porque você pode vincular páginas em seu site para páginas nos sites de outras pessoas usando um elemento de âncora simples. Quando você liga para o site de outra pessoa, você envia usuários para longe de seu próprio site. Para manter os usuários no seu site, HTML pode abrir a página vinculada em uma nova janela ...

Como criar tabelas em HTML5 - dummies

Como criar tabelas em HTML5 - dummies

O recipiente de marcação primária para tabelas em HTML é a tabela elemento. Ou seja, você usa a tag de abertura para denotar o início de uma tabela e você adiciona a tag de fechamento para encerrá-la. Além disso, os blocos de construção básicos para dados de tabela em HTML são a linha da tabela ( ) e os dados da tabela ...