"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que o Go não apoia a herança tradicional?

Por que o Go não apoia a herança tradicional?

Publicado em 2024-11-08
Navegar:574

 Why Doesn\'t Go Support Traditional Inheritance?

Herança em Go

Por que Go não suporta herança de tipo tradicional?

Tradicional herança de tipo, onde uma subclasse herda as definições de uma ou mais classes pai, não é um recurso da programação Go linguagem.

Racional dos Criadores

No FAQ do Go, os criadores da linguagem explicam que as linguagens de programação orientadas a objetos geralmente enfatizam a definição de relacionamentos entre tipos, que podem ser inferidos automaticamente em Ir. Em vez de especificar explicitamente relacionamentos de tipo, os tipos Go satisfazem automaticamente qualquer interface que especifique um subconjunto de seus métodos.

Benefícios da abordagem Go

Essa abordagem oferece diversas vantagens:

  • Contabilidade Simplificada: Não há necessidade de declarar explicitamente o tipo relacionamentos.
  • Flexibilidade de interface: Os tipos podem satisfazer várias interfaces ao mesmo tempo, evitando as complexidades da herança múltipla tradicional.
  • Interfaces leves: As interfaces podem possuem um ou nenhum método, permitindo a expressão de conceitos úteis sem a necessidade de anotações de tipo adicionais.
  • Flexibilidade para alterações: As interfaces podem ser adicionadas posteriormente, fornecendo flexibilidade para novas ideias ou testes sem modificar os tipos originais.
  • Ausência de hierarquia de tipos: A falta de relacionamentos explícitos entre os tipos elimina a necessidade de gerenciar ou discuta hierarquias de tipos.

Princípio Alternativo

Go promove o princípio da composição sobre a herança. Isso envolve a criação de novos tipos compondo tipos existentes, em vez de usar herança para criar um novo tipo com todos os recursos de seus tipos pais.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3