Duvida Extends

4 respostas
Marchiore

E ai pessoal, tudo bom?
Estou com uma duvida…qual a diferença de eu implementar meu código entre essas duas formas:

import java.awt.*;
import javax.swing.*;

public class CalculaValores {	
	JFrame frame = new JFrame();
	CalculaValores(){
		
	}
	public static void main(String[] args){
		new CalculaValores();
	}
}

agora usando o Extends

import java.awt.*;
import javax.swing.*;

public class CalculaValores extends JFrame{	
	CalculaValores(){
		
	}
	public static void main(String[] args){
		new CalculaValores();
	}
}

4 Respostas

remixlara

quando vc usa extends, CalculaValores vai possuir todos os métodos e atributos da classe JFrame podendo vc acessá-los dentro dessa classe…
fazendo JFrame frame = new JFrame(); vc está criando um atributo dentro da classe CalculaValores e pra acessar os métodos e atributos dentro desse objeto frame vc terá que fazer da seguinte forma frame.<metodo ou atributo>

quando vc usa extends vc esta dizendo que CalculaValores É UM JFrame e da outra forma vc está dizendo que ela TEM UM objeto do tipo JFrame

vlw… estude orientação a objetos… =D

yoshikichi
Marchiore:
E ai pessoal, tudo bom? Estou com uma duvida...qual a diferença de eu implementar meu código entre essas duas formas:
import java.awt.*;
import javax.swing.*;

public class CalculaValores {	
	JFrame frame = new JFrame();
	CalculaValores(){
		
	}
	public static void main(String[] args){
		new CalculaValores();
	}
}
agora usando o Extends
import java.awt.*;
import javax.swing.*;

public class CalculaValores extends JFrame{	
	CalculaValores(){
		
	}
	public static void main(String[] args){
		new CalculaValores();
	}
}

no primeiro caso vc cria uma instancia de JFrame etc...
No segundo caso vc cria uma classe que estend a JFrame.
A vantagem do segundo exemplo, é a herança e pq utilizamos herança?
Em alguns casos precisamos criar algo mais proximo de nossas necessitade, porém este algo novo ainda precisa ser o antigo(SuperClasse) e deve ter caracteristicas novas(SubClasse).
Compreende?

julianofischer

Fica ao seu critério analisar se sua classe é um JFrame ou se ela tem um JFrame.

Marchiore

entendi pessoal…obrigado pelas respostas…vou estudar um pouco mais de OO

Criado 28 de junho de 2010
Ultima resposta 28 de jun. de 2010
Respostas 4
Participantes 4