Вы находитесь на странице: 1из 9

UFRPE Monitoria de Programao 2012.

Noes (super) bsicas de OO (PARTE 01)


Criando e instanciando uma classe com um construtor vazio
Professor: Leandro Marques (material produzido pelo monitor Marcelo Coelho)
http://www.marcelocoelho.com.br/monitoria/poo/2012_2/criando-e-instanciando-uma-classe-com-construtor-vazio.ppt

(utilizando JAVA)

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. Prximo

ATEN O!

Revisando...
Na nossa classe de exemplo (Veiculo), criaremos os seguintes atributos: String marca; //ex: Fiat, Ford, null String modelo; //ex: Uno, Ka, null int qtdeRodas; //ex: 4, 2, 0 Evitaremos o uso de acentuao nos identificadores de classes e variveis. Prximo String cor; //ex: azul, verde,

A nossa classe Veiculo:


public class Veiculo { //atributos String marca; String Modelo; int qtdeRodas; String cor; //contrutores public Veiculo() { } } Prximo 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? //mtodo main public static void main(String[] args)poderia iremos chamar as { //eleaqui que estar em qualquer classe, //

Por hora, tenha em mente que voc precisa de //mas optei por fazer sistema uma exclusivamente //outras classes do apenas um mtodo //para ele (a classe Teste)... main em todo o sistema para poder dar a partida no } seu programa!

} Prximo

o do que acontece na memria ao criarmos variveis de tipos primitivos (int, boolean, double

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; }

Prximo

o do que acontece na memria ao criarmos variveis de tipos NO primitivos (Veiculo, Anima

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 new, foi utilizado, eu (onull marca: modelo: construtor da null0 qtdeRodas: cor: null classe Veiculo) fui chamado para realizar a criaoclass public //mtodo main do objeto.Teste { Em public outras palavras: a static void main(String[] //declaramos uma varivel de referncia args) { classe VeiculoTIPO Veiculo //do Veiculo v1; foi instanciada!
v1 = new Veiculo();

//criamos um objeto do tipo Veiculo com new //e usamos v1 como referncia para esse objeto

Veiculo v2 = new Veiculo(); } Prximo }

//podemos fazer isso em um nico movimento...

o do que acontece na memria ao criarmos variveis de tipos NO primitivos (Veiculo, Anima

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

v2

v1

v3

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

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

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

v3 = v2;

Prximo

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

Experimente executar o O que mesmo acha voc exemplo sem que a minha acontece Voc presena! u? percebeu alguma diferena ao executar o cdigo?

Вам также может понравиться