Primeiro, vamos falar brevemente sobre a definição de seus três principais recursos:
Encapsulamento: oculta as propriedades e os detalhes da implementação do objeto, expõe apenas a interface ao mundo exterior e controla o nível de acesso de leitura e modificar propriedades no programa. Combinando os dados e comportamentos abstratos (ou funções) para formar um todo orgânico, ou seja, combinando dados organicamente com o código -fonte de dados operacionais para formar uma "classe", onde dados e funções são membros da classe. O objetivo do encapsulamento é aprimorar a segurança e simplificar a programação. Os usuários não precisam entender os detalhes específicos da implementação, mas simplesmente usam os membros da classe através de uma interface externa, uma permissão de acesso específica. Os requisitos básicos para encapsulamento são: Privatize todos os atributos, forneça métodos Getter e Setter para cada atributo. Se houver um construtor com parâmetros, você deverá escrever um construtor sem parâmetros. Durante o desenvolvimento, você geralmente precisa testar as classes já escritas; portanto, às vezes você pode reescrever o método da tostragem, mas isso não é necessário.
Herança: Ativar o código reutilizada por meio da herança. Todas as classes em Java são obtidas por herdando direta ou indiretamente a classe Java.lang.Object. A classe herdada é chamada de subclasse e a classe herdada é chamada de classe pai. As subclasses não podem herdar variáveis e métodos na classe pai cuja permissão de acesso é privada. Uma subclasse pode substituir os métodos da classe pai e as variáveis de membro do nome com o mesmo nome da classe pai. No entanto, o Java não suporta herança múltipla, ou seja, a capacidade de uma classe derivar de várias superclasses. No desenvolvimento, a relação de herança é minimizada e isso é feito para reduzir o grau de acoplamento do programa.
Polimorfismo: O polimorfismo é dividido em polimorfismo em tempo de design e polimorfismo em tempo de execução. Por exemplo, a sobrecarga também é chamada de polimorfismo em tempo de design. Para substituir ou herdar métodos, o sistema de tempo de execução Java decide qual método chamar com base no tipo de instâncias que chamam o método, que é chamado de polimorfismo em tempo de execução. Em resumo, as características típicas do design orientado a objetos são herança, encapsulamento e polimorfismo, que também são a chave para a popularidade da orientação a objetos.
Pacote
O valor padrão dos direitos de acesso para um atributo de classe em Java não é privado. Se você deseja ocultar o método deste atributo, poderá adicionar um modificador privado para restringir o acesso apenas à classe.
Para atributos privados em uma classe, um par de métodos (getXxx, setxxx ()) deve ser fornecido para acessar atributos privados para garantir a operação e a segurança dos atributos privados.
Encapsulamento do método, a divulgação da divulgação, a oculta oculta.
Herança de Java
A herança é abstrair vários tipos de coisas com características comuns em uma classe.
A herança no Java deve usar a palavra -chave Extends, e o dedo médio Java permite herança única, ou seja, uma classe só pode ter uma classe pai.
O construtor não pode ser herdado .
Substituir no método java
Quando há métodos na subclasse que retornam a mesma lista de parâmetros do mesmo nome que pode ser acessada na classe pai, os métodos herdados da classe pai serão substituídos.
Super () palavra -chave
Super () significa que, quando o construtor da subclasse chama o construtor da classe pai, super () só pode estar na primeira frase do construtor.
Polimorfismo em Java
Existem dois mecanismos polimórficos: polimorfismo em tempo de compilação e polimorfismo em tempo de execução
1. Sobrecarga do método: sobrecarga refere -se a vários métodos com o mesmo nome na mesma classe, mas esses métodos têm parâmetros diferentes. , para que você possa determinar qual método chamar no momento da compilação, que é um polimorfismo em tempo de compilação.
2. Substituição do método: As subclasses podem substituir os métodos da classe pai, portanto, o mesmo método terá manifestações diferentes na classe pai e nas subclasses. No idioma Java, as variáveis de referência da classe base podem apontar não apenas o objeto de instância da classe base, mas também para o objeto de instância da subclasse. Da mesma forma, as variáveis de referência na interface também podem apontar para o objeto de instância de sua classe de implementação.
public classe a {public string show (d obj) {return ("a e d");} public string show (um obj) {return ("a e a");}} public classe b estende um {public string show (b obj) {return (b e b ");} public string show (a obj) {retur (" b e a "); B {} public class Test {public static void main (string [] args) {a a1 = novo a (); a2 = new b (); b b = new b (); c c = new c (); d d = new d (); System.out.println ("1--" + a1.show (b)); system.out.println ("2--" + a1.show (c)); system.out.println ("3--" + a1.show (d)); system.out.println ("4--" + a2.l); a2.Show (c)); System.out.println ("6--" + A2.Show (d)); System.out.println ("7--" + B.Show (b)); System.out.println ("8--" + B.Show (C)); System.out.println ("9-" + B.Show (d); }} 1-A e A2-A e A3-A e D4-B e A5-B e A6-A e D7-B e B8-B e B9-A e D Quando um objeto de superclasse refere -se a uma variável para se referir a um objeto de subclasse, o tipo do objeto referenciado, em vez do tipo de variável referenciada, determina cujo método de membro é chamado, mas o método chamado deve ser definido na superclasse, ou seja, o método coberto pela subclasse.
Vamos usar um exemplo para ilustrar o significado desta frase: A2.Show (b);
Aqui A2 é uma variável de referência, do tipo A, que se refere ao objeto B. Portanto, de acordo com a frase acima, significa que há B para decidir de quem é o método para chamar, então A2.Show (b) deve chamar Mostrar (b obj) em B, e o resultado deve ser "B e B", mas por que é diferente do resultado anterior de corrida? Aqui ignoramos a seguinte frase "mas o método chamado aqui deve ser definido na superclasse", o mesmo que o show (b obj) existe na classe A? Não existe nada! Portanto, esta frase não se aplica aqui? Então, essa frase está errada? Não! De fato, essa frase também implica esta frase: ela ainda precisa ser confirmada de acordo com a prioridade dos métodos de chamada na cadeia de herança. É por isso que ele encontra o show (um OBJ) na classe A. Ao mesmo tempo, uma vez que B substitui o método, ele chama os métodos na classe B; caso contrário, os métodos da classe A serão chamados.
O exposto acima é o entendimento das três principais características do encapsulamento de Java, herança e polimorfismo introduzidos a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!