[RESOLVIDO] Extends

4 respostas
gpd38

Estou com uma duvida de como usar o extends em java
Por exemplo:
Classe Longitude

public class Longitude extends Coordenada
   {
  
    }

Classe Coordenada

public abstract class Coordenada
   {

    }

Este é um exemplo que eu vi pronto, mas não sei como usar em um programa meu e em que ele me ajudaria.
Alguém sabe me explicar? Os livros não falam diretamente como devo utliza-lo.

4 Respostas

Luiz_Aguiar

vc usa extends quando vc quer herdar os métodos/atributos de outra classe, tbm conhecido como herança. Dê uma olhadinha nesse post:
http://www.guj.com.br/posts/list/24055.java

PS: coloque um título mais apropriado para o seu tópico, pra esse aqui, se tivesse coloca extends ou herança no título, ficaria masi fácil para alguém te ajudar com sua dúvida.

Jair_Rillo_Junior

Acho que você precisa estudar um pouco mais o conceito de orientaçao a objeto. Isso ai se trata de herança. O beneficio da herança é você herdar métodos e atributos de uma classe pai.

Por exemplo:
Você tem uma classe Pessoas, ela possui métodos e atributos. Você irá criar uma classe HOMEM. A classe homem pode herdar métodos e atributos da classe Pessoas, nesse caso vc usa herança.

gpd38

Valeu pela ajuda.
Vou ver aqui se consigo usa-lo agora.

LPJava

gpd38:
Estou com uma duvida de como usar o extends em java
Por exemplo:
Classe Longitude

public class Longitude extends Coordenada
   {
  
    }

Classe Coordenada

public abstract class Coordenada
   {

    }

Este é um exemplo que eu vi pronto, mas não sei como usar em um programa meu e em que ele me ajudaria.
Alguém sabe me explicar? Os livros não falam diretamente como devo utliza-lo.

entenda o seguinte vc ai tem uma class abstract e outra concreta(sem o modificado abstract), e pq vc usaria isso? bom quando vc quer q sua classe concreta implemente os metodos abstractos da class abstract da forma q ele achar conveniente. Lembre-se abstrato é isso: Veiculo, Animal, Comunicacao etc. Tudo isso é abstrato… qualquer coisa pode ser um Veiculo um carro, uma moto, qualquer coisa pode ser um Animal, eu, vc, os gujeiros, uma aguia etc. Entao nao tem uma definicao para algo abstrato. Mais uma class Concreta? existe uma definição um Carro é um Carro, nao posso dizer que meu Carro é um Aviao… mais posso dizer que meu Carro é um Veiculo. Percebe-se a diferença? Você criar essa situação do seu exemplo quando você quer que uma class + especifica cuide da implementação do metodo da superclass.
veja:

class abstract Veiculo{
public abstract void cor();
}
class BMW extends Veiculo{
//BMW É-UM Veiculo
public void cor(){ System.out.println("Preto");}
}
class FERRARI extends Veiculo{
//FERRARI TB É-UM VEICULO
public void cor(){System.out.println("Azul");}
}

observe que ferrari e bmw ambos sao veiculos porem cara um com sua cor… especifica… so mais um ponto uma class concret ela deve implementar todos os metodos abstract de uma class abstract isso é obrigatorio… senao o codigo nao compila…

class abstract Veiculo{
public abstract void cor();
}
class Golf extends Veiculo{
}

nao implementei o metodo cor de uma classe abstrata ao qual eu disse que Golf é um veiculo… isso nao compila…

Bom essa é uma explicacao basica… tem algumas regras a seguir de nao colocar o modificador final aos metodos abstract etc…

qualquer duvida so gritar :smiley:
:stuck_out_tongue:

Criado 9 de abril de 2007
Ultima resposta 11 de abr. de 2007
Respostas 4
Participantes 4