o Que é Polimorfismo em Java?
polimorfismo em Java ocorre quando há uma ou mais classes ou objetos relacionados entre si por herança. Por outras palavras, é a capacidade de um objecto assumir muitas formas. A herança permite aos usuários herdar atributos e métodos, e o polimorfismo usa estes métodos para executar tarefas diferentes. Portanto, o objetivo é a comunicação, mas a abordagem é diferente.
por exemplo, você tem um smartphone para comunicação., O modo de comunicação que escolher pode ser qualquer coisa. Pode ser uma chamada, uma mensagem de texto, uma mensagem de imagem, e-mail, etc. Portanto, o objetivo é comum que seja a comunicação, mas sua abordagem é diferente. Isto é chamado polimorfismo.
neste tutorial, você vai aprender –
- O que é polimorfismo? polimorfismo Java em Oop’s com Exemplo de método que ultrapassa a diferença entre sobrecarga e sobrepor o polimorfismo dinâmico?,
- Super Palavra-chave
- Diferença entre a Estática & Polimorfismo Dinâmico
Clique aqui se o vídeo não é acessível
Java Polimorfismo em OOP com Exemplo
temos uma classe pai, ‘Conta’ com a função de depósito e retirada. Conta tem 2 classes de filhos
a operação de depósito e levantamento é o mesmo para contas de poupança e verificação. Assim, os métodos herdados da classe de conta funcionarão.,
Mudança no Requisito de Software
Há uma mudança na especificação de requisitos, algo que é tão comum na indústria de software. Você é suposto adicionar funcionalidade conta bancária privilegiada com facilidade de descoberto.
para um fundo, descoberto é uma facilidade onde você pode retirar um montante mais do que disponível o saldo em sua conta. assim, o método de retirada para as necessidades privilegiadas ser implementado de novo., Mas você não muda o pedaço de código testado em conta de poupança e verificação. Esta é a vantagem de OOPS
Step 1) tal que quando o método “retirado” para a conta de poupança é chamado de um método da classe da conta-mãe é executado.
Step 2) mas quando o método de” levantamento ” para a conta privilegiada (facilidade de descoberto) é chamado método de levantamento definido na classe privilegiada é executado. Isto é polimorfismo.,
Método de Substituir
o Método Primordial é a redefinição de uma super classe de método em uma subclasse.
regras para o método que sobrepõe
- a assinatura do método, ou seja, o nome do método, a lista de parâmetros e o tipo de retorno têm de corresponder exactamente.
- o método sobreposto pode alargar a acessibilidade, mas não restringi-la, ou seja, se for privado na classe de base, a classe de crianças pode torná-lo público, mas não vice-versa.,
Exemplo
Diferença entre a Sobrecarga e Substituindo
o Que é Polimorfismo Dinâmico?
polimorfismo dinâmico é o mecanismo pelo qual múltiplos métodos podem ser definidos com o mesmo nome e assinatura na superclasse e subclasse. A chamada para um método sobreposto é resolvida em tempo de execução.,
Dinâmica Polimorfismo Exemplo:
Uma variável de referência da super classe pode referir-se a uma sub-classe de objeto
Doctor obj = new Surgeon();
Considere a instrução
obj.treatPatient();
Aqui, a variável de referência “obj” é da classe pai, mas o objeto que ele está apontando para a criança de classe (como mostrado no diagrama).
obj.,n
Se uma base de referência de classe é usado para chamar um método, o método a ser invocado é decidido pela JVM, dependendo do objeto a referência aponta para
Por exemplo, mesmo que obj é uma referência para o Médico, ele chama o método do Cirurgião, como ele aponta para um Cirurgião objeto
Isto é decidido durante o tempo de execução e, portanto, chamado de dinâmica ou de tempo de execução do polimorfismo
Super Palavra-chave
o Que acontece se o treatPatient método em que o Cirurgião classe quer executar a funcionalidade definida em Médico de classe e, em seguida, executar a sua própria funcionalidade específica?,
In this case, keyword super
can be used to access methods of the parent class from the child class.
O treatPatient método em que o Cirurgião classe pode ser escrito como:
treatPatient(){ super.treatPatient(); //add code specific to Surgeon}
A palavra-chave super pode ser usada para acessar qualquer membro de dados ou métodos de super-classe sub-classe.,br>Example:-To learn Inheritance, Polymorphism & super keyword
Step 1) Copy the following code into an Editor
Difference between Static & Dynamic Polymorphism
|
|
---|---|
It relates to method overloading., | está relacionado com a ultrapassagem de métodos. |
erros, se houver, são resolvidos no tempo de compilação. Uma vez que o código não é executado durante a compilação, daí o nome static. Ex: void sum (int a , int b);void sum (float a, double b);int sum (int a, int b); //compiler gives error. |
No caso de uma variável de referência é a invocação de um método substituído, o método a ser chamado é determinado pelo objeto, sua variável de referência está apontando para. Isto só pode ser determinado em tempo de execução quando o código em execução, daí o nome dinâmico., Ex: //reference of parent pointing to child object Doctor obj = new Surgeon();// method of child calledobj.treatPatient(); |