Olá pessoal! A Xiaomi quer falar com vocês hoje sobre um tema interessante, que é sobre uma pergunta frequentemente feita em entrevistas: Qual é a diferença entre “isto” e “super”? Para muitos amigos que estão prestes a ingressar no mercado de trabalho, essa é uma questão que precisa ser bem compreendida! Sem mais delongas, vamos direto ao ponto!
o que é isso?
Primeiro, vamos entender o que é isso. Na programação orientada a objetos, esta é uma palavra-chave que representa uma referência ao objeto atual . Quando chamamos um método de um objeto ou acessamos suas propriedades, podemos usar a palavra-chave this para apontar para o objeto que está sendo operado no momento. Desta forma, podemos acessar e modificar as propriedades do objeto atual dentro do método, ou chamar outros métodos.
Por exemplo, temos uma classe chamada “Person” com um método “sayHello”:
Neste exemplo, this.name aponta para o atributo name do objeto atual. Se criarmos um objeto Person chamado "Xiaomi" e chamarmos seu método sayHello, "Olá, meu nome é Xiaomi" será gerado.
O que é super?
A seguir, vamos aprender sobre a super palavra-chave. super também é uma palavra-chave, que representa uma referência à classe pai (ou superclasse). Em um relacionamento de herança, as subclasses podem usar a palavra-chave super para acessar membros da classe pai, incluindo propriedades e métodos. Isso é útil ao estender a funcionalidade de uma classe pai ou substituir métodos da classe pai.
Por exemplo, temos uma classe pai “Animal” e uma subclasse “Dog”:
Neste exemplo, a classe Dog substitui o método makeSound da classe pai Animal e chama o método da classe pai usando super.makeSound(). Neste caso, a saída será:
A diferença entre isso e super
Então, qual é a diferença entre isso e super? Vamos resumir abaixo:
- Os objetos são diferentes : atua no objeto atual e é usado para acessar suas próprias propriedades e métodos; super atua na classe pai e é usado para acessar as propriedades e métodos da classe pai.
- Os cenários de uso são diferentes : isso é frequentemente usado dentro de métodos para distinguir variáveis locais e variáveis de instância, ou para chamar outros construtores no construtor; super é frequentemente usado em subclasses para substituir métodos de classe pai e para chamar métodos pai em construtores de subclasses. Método de construção de classe.
- Os objetos associados são diferentes : este está associado ao objeto atual, que aponta para o objeto que chama o método; e super está associado ao objeto da classe pai, que é usado para acessar os membros da classe pai na subclasse.
- Os métodos de chamada são diferentes : chama o método da classe atual; super chama o método da classe pai.
FIM
Através do compartilhamento de hoje, aprendemos detalhadamente o papel e a diferença das duas palavras-chave this e super na programação orientada a objetos. Espero que você consiga responder perguntas sobre essas duas palavras-chave com mais segurança durante a entrevista!
Lembre-se, além do conhecimento técnico, a capacidade de comunicação e a clareza de expressão também são muito importantes nas entrevistas! Se você tiver alguma dúvida sobre este assunto, deixe uma mensagem na área de comentários e responderei uma por uma ~ Ao mesmo tempo, todos também são bem-vindos para compartilhar suas experiências em entrevistas, comunicar-se e progredir juntos!
Ok, é isso para o compartilhamento de hoje! Espero que todos possam ir cada vez mais longe em suas carreiras e continuar aprendendo e crescendo! Até a próxima, tchau~
Se você tiver alguma dúvida ou mais compartilhamento técnico, siga minha conta pública do WeChat " Saiba o que é e por quê "!