Ir ao conteúdo
  • Cadastre-se

[Ajuda]Atribuições


MattStark

Posts recomendados

Fala Galera.

To começando com a programação em JAVA agora , e me deparei agora com um exercício que o prof disponibilizou com o seguinte, ele faz uma variável receber um objeto de uma classe diferente.

Ex: X var = new Y() ;

Sendo que a classe Y extende de X.

alguém poderia me explicar no que seria útil fazer isso, e como acessar os metodos desse objeto.. Desde já valeu.

Link para o comentário
Compartilhar em outros sites

Então, MattStark.

Isso se chama polimorfismo, ou seja, um objeto possuir comportamentos diferentes. Na POO (programação orientada a objetos) isso é de grande importância.

Veja um exemplo:

Supondo que você tenha a Classe Animal, e então você queira criar sub-tipos de animais como: Gato, Cachorro, etc. E queira que todos os animais emitam sons: latir, miar, etc. Ficaria assim:

Classe Animal


public class Animal{

public void emitirSom(){}

}

E sub-classes:


public class Gato extends Animal{

public void emitirSom(){
System.out.println("MIAU");
}

}


public class Cachorro extends Animal{

public void emitirSom(){
System.out.println("AU AU");
}

}


public static void main(String[] args){

Animal animal = null;

animal = new Gato();
animal.emitirSom();

animal = new Cachorro();
animal.emitirSom();

}

Perceba que, apesar de termos apenas uma variável, ela irá se comportar de maneira diferente, na primeira vez irá aparecer "MIAU" e na segunda "AU AU".

Neste simples exemplo perceba uma das características do POO, a Herança.

Imagine que alem de emitir som, quisermos que os animais também andem.

Isso poderia ficar assim:


public class Animal{

public void emitirSom(){}

public void andar(){
System.out.println("ANDANDO");
}

}

Dessa forma, como Gato e Cachorro são do tipo Animal, eles também possuirão a característica de andar.


public static void main(String[] args){

Animal animal = null;

animal = new Gato();
animal.emitirSom();
animal.andar();

}

Isso lhe traz inicialmente duas vantagens: reuso de código e fácil manutenção.

Pois caso você queira alterar o comportamento de andar dos animais você terá apenas um local para mudar.

Há outras maneiras mais eficientes de utilizar o polimorfismo, entretanto de inicio, isso já é o suficiente. Sugiro que você estude mais sobre orientação a objetos e suas características: herança, polimorfismo, etc.

Abraço.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...