Sei sulla pagina 1di 9

Criando e instanciando uma classe com um construtor vazio

(utilizando JAVA)

(PARTE 01)

Noes (super) bsicas de OO

ATENO!
Este material NO se prope a ser um curso de programao orientada a objetos ou de JAVA! A minha inteno de apenas TENTAR sanar algumas dvidas trazidas pelos colegas nos nossos encontros de monitoria.

Revisando...
Na nossa classe de exemplo (Veiculo), criaremos os seguintes atributos: String marca; String modelo; int qtdeRodas; String cor; //ex: Fiat, Ford, null //ex: Uno, Ka, null //ex: 4, 2, 0 //ex: azul, verde, null

Evitaremos o uso de acentuao nos identificadores de classes e variveis.

A nossa classe Veiculo:


public class Veiculo { //atributos String marca; String Modelo; int qtdeRodas; String cor; //contrutores public Veiculo() { } } Isto no necessrio, mas vamos deix-lo aqui por questes Didticas, ok?

A nossa classe Teste:


public class Teste { Veremos o que essas coisas significam DEPOIS, ok? Por hora, tenha em mente que voc precisa de apenas um mtodo main em todo o sistema para poder dar a partida no seu programa!

//mtodo main public static void main(String[] args) { //ele poderia estar em qualquer // aqui que iremos chamar asclasse, //mas optei por do fazer uma exclusivamente //outras classes sistema //para ele (a classe Teste)...

Ilustrao do que acontece na memria ao criarmos variveis de tipos primitivos (int, boolean, double, etc...)

x
5

a 2

public class Veiculo { //atributos String marca; String Modelo; int qtdeRodas; String cor; //contrutores public Veiculo() { } }

public class Teste { //mtodo main public static void main(String[] args) { int x; //declaramos uma varivel do TIPO inteiro x = 5; //atribuimos o valor 5 a x
//podemos fazer isso em um nico movimento...

int a = 2;

} }

Ilustrao do que acontece na memria ao criarmos variveis de tipos NO primitivos (Veiculo, Animal, etc...)

marca: null modelo: null qtdeRodas: 0 cor: null

v2

v1

public class Veiculo { //atributos String marca; String Modelo; int qtdeRodas; String cor; //contrutores public Veiculo() { } }

Quando o marca: null new, foi modelo: null qtdeRodas: 0 cor: null utilizado, eu (o construtor da classe Veiculo) public class Teste { fui chamado para //mtodo main realizar a criao public static void main(String[] args) { //declaramos uma varivel de referncia do objeto. Em //do TIPO Veiculo outras palavras: Veiculo v1; a classe //criamos um objeto do tipo Veiculo com new //e usamos v1 como referncia para esse objeto Veiculo foi v1 = new Veiculo(); instanciada! //podemos fazer isso em um nico movimento...
Veiculo v2 = new Veiculo(); } }

Ilustrao do que acontece na memria ao criarmos variveis de tipos NO primitivos (Veiculo, Animal, etc...)

marca: null modelo: null qtdeRodas: 0 cor: null

v2

v1 v3

marca: null modelo: null qtdeRodas: 0 cor: null

public class Veiculo { //atributos String marca; String Modelo; int qtdeRodas; String cor; //contrutores public Veiculo() { } }

Perceba que eu (o construtor) no fui public class Teste { acionado pela //mtodo main ltima linha da public static void main(String[] args) { classe Teste ( Veiculo v1; clusula new v1 = new Veiculo(); Veiculo v2 = new Veiculo(); inexistente), portanto nenhum //podemos declarar outra referncia do tipo Veiculo Veiculo v3; objeto foi criado. O //e us-la tambm para referenciar o mesmo objeto que ocorreu foi // referenciado por v2 v3 = v2; apenas a criao de uma (outra) } referncia para um } objeto j existente!

Praticando e explorando
public class Veiculo { //atributos String marca; String Modelo; int qtdeRodas; String cor;

Experimente executar o mesmo exemplo sem a minha presena!

Voc percebeu alguma diferena ao executar o cdigo?

//contrutores public Veiculo() { } }

O que voc acha que aconteceu?

Potrebbero piacerti anche