Princípios de OOP: Polimorfismo
Polymorphism
Polymorphism is another principle of OOP. You have already encountered polymorphism when you overloaded and overridden methods. In general, this is the essence of polymorphism. But the definition of polymorphism can be a bit intimidating:
But in reality, it's much simpler than it seems. Polymorphism, in simple terms, can be divided into 2 parts:
- Method Overloading: what you learned in this chapter, but let's review.
Vamos olhar para um exemplo: precisamos escrever um método que receba um parâmetro do tipo int
e retorne uma String
, bem como um método que faça o mesmo, mas com um parâmetro do tipo long
. Vamos dar uma olhada no trecho de código:
Main.java
Present😏.java
As you can see above, we've created 2 methods with the same name but can do different things. This is method overloading.
- Method Overriding:
You've encountered this topic before when you overridden the
toString
method in this chapter. But let's review it once again.
@Override
annotation above the method in the child class.
Vamos observar um trecho de código que nos mostrará como podemos substituir um método. Temos uma classe chamada Airplane
que herda da classe Transport
. E na classe Transport
, há um método chamado move
que retorna "Este transporte começou a se mover".
Precisamos que o avião "comece a voar" em vez de "se mover". Para conseguir isso, vamos substituir o método move
na classe filha:
Transport.java
Airplane.java
Como você pode ver, nós sobrescrevemos o método da classe pai na classe filha conforme necessário.
Dessa forma, o polimorfismo complementa muito bem a herança. Através do polimorfismo, podemos estender nosso código de maneira conveniente e otimizada, tornando-o flexível.
Tudo estava claro?
Conteúdo do Curso
Java OOP
Java OOP
Princípios de OOP: Polimorfismo
Polymorphism
Polymorphism is another principle of OOP. You have already encountered polymorphism when you overloaded and overridden methods. In general, this is the essence of polymorphism. But the definition of polymorphism can be a bit intimidating:
But in reality, it's much simpler than it seems. Polymorphism, in simple terms, can be divided into 2 parts:
- Method Overloading: what you learned in this chapter, but let's review.
Vamos olhar para um exemplo: precisamos escrever um método que receba um parâmetro do tipo int
e retorne uma String
, bem como um método que faça o mesmo, mas com um parâmetro do tipo long
. Vamos dar uma olhada no trecho de código:
Main.java
Present😏.java
As you can see above, we've created 2 methods with the same name but can do different things. This is method overloading.
- Method Overriding:
You've encountered this topic before when you overridden the
toString
method in this chapter. But let's review it once again.
@Override
annotation above the method in the child class.
Vamos observar um trecho de código que nos mostrará como podemos substituir um método. Temos uma classe chamada Airplane
que herda da classe Transport
. E na classe Transport
, há um método chamado move
que retorna "Este transporte começou a se mover".
Precisamos que o avião "comece a voar" em vez de "se mover". Para conseguir isso, vamos substituir o método move
na classe filha:
Transport.java
Airplane.java
Como você pode ver, nós sobrescrevemos o método da classe pai na classe filha conforme necessário.
Dessa forma, o polimorfismo complementa muito bem a herança. Através do polimorfismo, podemos estender nosso código de maneira conveniente e otimizada, tornando-o flexível.
Tudo estava claro?