As características básicas e os princípios básicos da orientação a objetos


Três características básicas e cinco princípios básicos da orientação a objetos

Embora sejam todas questões básicas, quais são as características básicas e princípios básicos que todos podem responder na entrevista? Depois de memorizar o caminho secreto, é bom não ter esquecido, mas em quais aspectos são os detalhes usados ​​e refletidos, eu quero ser fluente Pode ser um pouco difícil dizer e citar alguns exemplos (eu sou assim), então vamos resumir.

Três características básicas

1. Pacote

  • Definição: Combine as propriedades e operações (ou serviços) do objeto em um todo independente, ou seja, privatize as propriedades, forneça métodos setter e getter para acessar conforme necessário e oculte os detalhes de implementação interna do objeto tanto quanto possível.
  • Características: O usuário não precisa se preocupar com os detalhes de implementação específicos, mas pode acessar os membros da classe apenas por meio da interface externa. A interface USB que usamos normalmente requer periféricos e só precisa conectar o dispositivo à interface USB. O funcionamento da interna não é importante para o usuário. A interface USB é uma interface de acesso externo.
  • Objetivo: aumentar a segurança dos dados, impedir que outros usuários acessem e modificar dados à vontade e simplificar a programação.

2. Herança

  • Definição: Herança significa que a subclasse herda as características e comportamentos da classe pai, de modo que o objeto da subclasse (instância) tem o domínio da instância e os métodos da classe pai, ou a subclasse herda métodos da classe pai, de modo que a subclasse tem o mesmo comportamento da classe pai.
  • Características:
    1. Apenas a herança única é suportada, ou seja, uma subclasse pode ter apenas uma classe pai, mas a herança de vários níveis pode ser realizada e a subclasse tem uma classe pai exclusiva, e a classe pai também pode herdar novamente.
    2. As subclasses podem ter as propriedades e métodos da classe pai.
    3. As subclasses podem ter suas próprias propriedades e métodos.
    4. A subclasse pode sobrescrever o método da superclasse.
  • Objetivo: Alcançar a reutilização de código.
  • usar:
    1. Quer seja uma variável de membro ou um método de membro, é primeiro pesquisado na classe atual. Caso contrário, é pesquisado para cima na classe pai e nunca será pesquisado para baixo na subclasse.

    2. Variável de membro local: uso direto; esta variável de membro de classe: esta variável de membro de classe; variável de membro de classe pai: super. Variável de membro de classe de pai

    3. Uso desta e de super palavras-chave

      	super()关键字的用法:
      		- ​子类的成员方法中,访问父类的成员变量。
      		- 子类的成员方法中,访问父类的成员方法。
      		- 子类的构造方法中,访问父类的构造方法。
      	this关键字用法:
      		- 本类成员方法中,访问本类的成员变量。
      		- 本类成员方法中,访问本类的另一个成员方法。
      		- 本类的构造方法中,访问本类的另一个构造方法。
      
    4. Construtor No
      relacionamento de herança, as características de acesso dos métodos de construção da classe pai e filho:

      • Há um super (); chamada implícita padrão no método de construção da subclasse, portanto, ele deve primeiro chamar o método de construção da classe pai e, em seguida, chamar o método de construção da subclasse.
      • A construção da subclasse pode ser super (); chame a construção de sobrecarga da superclasse. (Carga pesada)
      • A classe pai super (); chama o método de construção, que deve ser a primeira linha na construção da subclasse, que é o primeiro elemento terminando com;, e só pode ser chamado uma vez.

3. Polimorfismo

  • Definição: a mesma entidade possui vários formulários ao mesmo tempo. A manifestação é: a referência da classe base aponta para o objeto da subclasse. Por exemplo: no objeto de transformação, retorno de chamada da interface.
  • Características:
    1. Elimine a relação de acoplamento entre os tipos para obter baixo acoplamento.
    2. Flexibilidade.
    3. Escalabilidade.
    4. Substituibilidade.
  • Objetivo: aumentar a flexibilidade do código.
  • usar:
    • -Se
      objeto -Cast A referência do objeto declaração criança é atribuído ao objeto declarado pela classe pai, então o objeto classe pai é o objeto se-cast do objeto de classe criança. Os exemplos específicos são os seguintes:
    // 父类名称 对象名 = new 子类名称(); 
    class Animal {
          
          
    	void eat() {
          
          
    		System.out.println("动物吃饭!");
    	}
    }
    class Dog implements Animal {
          
          
    	public void eat(){
          
          
           System.out.println("小狗吃饭!");
       }
    }
    主类:{
          
          
    	Animal animal = new Dog();
    	animal.eat();
    }
    
    Insira a descrição da imagem aqui
    • Retorno de chamada de interface
      A referência do objeto criado pela classe que implementa a interface é atribuída à variável de interface declarada pela interface. A variável de interface chama o método abstrato declarado pela interface (que foi sobrescrito pela classe de implementação), ou seja, o retorno de chamada da interface. Os exemplos específicos são os seguintes:
    // 接口名称 接口变量 = new 实现类名称();
    interface Animal {
          
          
    	void eat();
    }
    class Dog implements Animal {
          
          
    	public void eat(){
          
          
           System.out.println("小狗吃饭!");
       }
    }
    主类:{
          
          
    	Animal animal = new Dog();
    	animal.eat();
    }
    

Cinco características básicas

  • Princípio de responsabilidade única
    No que diz respeito a uma classe, deve haver apenas um motivo para sua mudança e deve haver apenas uma responsabilidade. Se uma classe tem mais de uma responsabilidade, essas responsabilidades são acopladas e, quando uma responsabilidade muda, outras responsabilidades podem ser afetadas.
  • O princípio de abertura e fechamento A
    imagem (classe, módulo, função, etc.) deve ser aberta para extensão, mas fechada para modificação. Isso significa que uma entidade pode alterar seu comportamento sem alterar seu código-fonte.
  • O princípio de substituição de Richter
    Sempre que uma classe base pode aparecer, uma subclasse deve aparecer. O princípio de substituição de Richter é um suplemento ao princípio "abrir-fechar" .O passo chave para realizar o princípio "abrir-fechar" é a abstração. O relacionamento de herança entre a classe base e as subclasses é a realização concreta da abstração, portanto, o princípio de substituição de Richter é a especificação das etapas concretas para realizar a abstração.
  • Confie no princípio de inversão Os
    programas devem se basear em interfaces abstratas, não em implementações específicas. Simplificando, é necessário programar a abstração, não a implementação, o que reduz o acoplamento entre o cliente e o módulo de implementação.
  • O princípio do isolamento de interface O
    cliente não deve confiar em interfaces de que não precisa. A dependência de uma classe em outra deve ser baseada na menor interface. Se houver um método que não seja usado na interface, você pode extrair a interface de íons. É melhor usar várias interfaces especializadas do que usar uma única interface.

Grave suas próprias anotações de estudo pela primeira vez. Se você encontrar um problema, dê dicas.

Acho que você gosta

Origin blog.csdn.net/qq_42647711/article/details/108412823
Recomendado
Clasificación