Golang-Três características da herança de programação orientada a objeto, herança múltipla

Golang-três recursos de herança de programação orientada a objeto

  Introdução básica e diagrama esquemático da herança

    A herança pode resolver a reutilização de código e tornar nossa programação mais próxima do pensamento humano.
    Quando várias estruturas têm as mesmas propriedades (campos) e métodos, você pode abstrair as estruturas (como Student) dessas estruturas e definir as mesmas propriedades e métodos na estrutura.

    Outras estruturas não precisam redefinir esses atributos (campos) e métodos, basta aninhar uma estrutura anônima do Student. [Desenhe um esquema]

      

 

 

 

    Ou seja: em Golang, se uma estrutura estiver aninhada em outra estrutura anônima, essa estrutura poderá acessar diretamente os campos e métodos da estrutura anônima, atingindo, assim, o recurso de herança.

  Gramática básica do
    tipo de estrutura anônima aninhada struct Goods {

      Cadeia de nome

      Price int
    }
    tipo
      Estrutura do livro { Mercadorias // Esta é uma estrutura anônima aninhada String do gravador de mercadorias
    }

Caso
    Melhoramos em extends01.go, usando estrutura anônima aninhada para obter herança, preste atenção aos benefícios dessa programação

    

 

 

 

tipo 
	Estrutura do aluno { 
	Nome string 
	Idade int Pontuação float64 
} 
func (aluno * Estudante) ShowInfo () { 
	fmt.Printf ("nome do aluno =% v idade =% v nota =% v \ n", student.Name, student.Age , student.Score) 
} 
func (aluno * Estudante) SetScore (pontuação float64) { 
	aluno.Score = pontuação 
} 
tipo Estrutura do aluno { 
	Estudante 
} 
func (aluno * aluno) Teste () { 
	fmt.Println ("O conteúdo do exame é diferente , Sendo testado ..... \ n ") 
} 
tipo Graduate struct { 
	Student 
} 
func (graduado * Graduado) Testing () { 
	fmt.Println (" O conteúdo do exame é diferente, o exame está em andamento ..... \ n ") 
}

  

  A herança traz conveniência à programação

    1) A reutilização do código foi aprimorada
    2) A escalabilidade e a manutenção do código foram aprimoradas

  Discussão aprofundada sobre herança

  1) A estrutura pode usar todos os campos e métodos da estrutura anônima aninhada, ou seja, os campos e métodos com letras maiúsculas ou minúsculas podem ser usados. 【Ilustração】

    

 

 

   2) O acesso ao campo da estrutura anônima pode ser simplificado, como mostra a figura

    

    Resumo do código acima
    (1) Quando acessamos diretamente o campo ou método por meio de b, o processo de execução é o seguinte: Por exemplo, b.Name
    (2) O compilador primeiro verá se o tipo correspondente a b é Name, se houver, e chame diretamente B
    Se não houver um campo Nome (3) do tipo, vá para a estrutura anônima A incorporada em B para ver se o campo Nome está declarado.Se houver, chame-o se não continuar pesquisando.Se não for encontrado, relate um erro.

  3) Quando a estrutura e a estrutura anônima possuem o mesmo campo ou método, o compilador usa o princípio de acesso mais próximo para acessar.Se você deseja acessar o campo e o método da estrutura anônima, é possível distingui-lo pelo nome da estrutura anônima [exemplo]

    

  4) A estrutura é incorporada em duas (ou mais) estruturas anônimas.Por exemplo, se duas estruturas anônimas têm os mesmos campos e métodos (ao mesmo tempo, a própria estrutura não possui campos e métodos com o mesmo nome), você deve especificar explicitamente o anonimato ao acessar Nome da estrutura, caso contrário, compile o erro. 【Ilustração】

    

  5) Se uma estrutura aninha uma estrutura nomeada, esse padrão é uma combinação.Se for um relacionamento de combinação, ao acessar os campos ou métodos da estrutura combinada, você deve trazer o nome da estrutura
  6) Estrutura anônima aninhada Após o corpo, você também pode especificar diretamente o valor de cada campo de estrutura anônimo ao criar a variável de estrutura (instância)

 

 

       

      

 

   

  tO campo anônimo da estrutura de prática é o tipo de dados básico, como acessá-lo, o que o código a seguir gera

     

    Explicação
      1) Se uma estrutura possui um campo anônimo do tipo int, não pode ser o segundo.
      2) Se você precisar ter vários campos int, deverá especificar um nome para o campo int

 

  Programação orientada a objeto - herança
    múltipla Descrição de herança múltipla
      Se uma estrutura aninha várias estruturas anônimas, a estrutura pode acessar diretamente os campos e métodos da estrutura anônima aninhada, obtendo assim herança múltipla.
    Demonstração de caso
    por meio de um caso para ilustrar o uso de herança múltipla

      

    Detalhes da herança múltipla
      1) Se a estrutura anônima incorporada tiver o mesmo nome de campo ou nome do método, ela precisará ser distinguida pelo nome do tipo de estrutura anônima ao acessar. [Demonstração de caso]
      2) Para garantir a simplicidade do código, é recomendável que você tente não usar herança múltipla

 

Acho que você gosta

Origin www.cnblogs.com/Essaycode/p/12677629.html
Recomendado
Clasificación