Bem com uma variável da classe eu posso chamar métodos da classe ?
Exemplo:
classe Aresta:
public class Aresta
{
private Vertice vo, vd; // vértice de origem e destino
private int peso;
private Color cor; // cor da aresta
public Aresta(Vertice vo, Vertice vd, int peso)//construtor da classe Aresta que recebe vo,vd e o peso
{
this.vo = vo;//recebe o vértice de origem
this.vd = vd;//recebe o vértice de destino
this.peso = peso;//recebe o peso
setCor(Color.BLACK);//seta a cor da aresta como preta
}
/* DEFINE O PESO */
public void setPeso(int peso)
{
this.peso = peso;
}
/* RETORNA O PESO */
public int getPeso()
{
return this.peso;
}
/* RETORNA O VÉRTICE ORIGEM */
public Vertice getVo()
{
return this.vo;
}
/* RETORNA O VÉRTICE DESTINO */
public Vertice getVd()
{
return this.vd;
}
/* DEFINE A COR DA ARESTA */
public void setCor(Color cor)
{
this.cor = cor;
}
/* RETORNA A COR DA ARESTA */
public Color getCor()
{
return this.cor;
}
}
Classe Vértice
public class Vertice
{
private String rotulo; // rótulo (legenda) do vértice
private int numero; // nº do vértice
private int x, y; // coordenadas do vértice na tela
private boolean marcado; // define se o vértice está marcado ou não
private Color cor; // cor do vértice desmarcado
private Color corMarcado; // cor do vértice marcado
public Vertice(int num, String rot, int x, int y) // construtor
{
setRotulo(rot);
setNum(num);
desmarcar();
setCor(Color.BLACK); // define a cor padrão como BLACK
setCorMarcado(Color.BLUE); // define a cor padrão do marcado como BLUE
setXY(x, y);
}
public void setXY(int x, int y)
{
this.x = x;
this.y = y;
}
public int getX()
{
return this.x;
}
public int getY()
{
return this.y;
}
public void marcar()
{
this.marcado = true;
}
public void desmarcar()
{
this.marcado = false;
}
public boolean getMarcado()
{
return this.marcado;
}
/* DEFINE O RÓTULO DO VÉRTICE */
public void setRotulo(String rot)
{
this.rotulo = rot;
}
/* RETORNA O RÓTULO DO VÉRTICE */
public String getRotulo()
{
return this.rotulo;
}
/* DEFINE O NÚMERO DO VÉRTICE */
public void setNum(int num)
{
this.numero = num;
}
/* RETORNA O NÚMERO DO VÉRTICE */
public int getNum()
{
return this.numero;
}
/* DEFINE A COR DO VÉRTICE */
public void setCor(Color cor)
{
this.cor = cor;
}
/* RETORNA A COR DO VÉRTICE */
public Color getCor()
{
return this.cor;
}
/* DEFINE A COR DO VÉRTICE MARCADO */
public void setCorMarcado(Color cor)
{
this.corMarcado = cor;
}
/* RETORNA A COR DO VÉRTICE MARCADO */
public Color getCorMarcado()
{
return this.corMarcado;
}
}
Tenho está classe que se chama Aresta e tenho váriaveis do tipo Vértice que é de outra classe minha,
são essas as variáveis:
private Vertice vo, vd; // vértice de origem e destino
minha duvida é eu posso chama métodos de classes vértice somente com essas variáveis…? tem um exemplo no código meu que faz exatamente isso vou mostrar a vcs:
Aresta a.getVo().getNum()==vo
o que eu entendi é que a variavel do tipo Aresta chama o método getVo() que por sua vez tem a variável vo que é do tpo vertice que chama o método getNum() que retorna um inteiro é isso mesmo?
eu achama que chamava somente dessa forma
Aresta chama = new Aresta()
qual a diferença??
Aresta chama = new Aresta()
Aresta chama