1 / 9

Noções (super) básicas de OO

UFRPE – Monitoria de Programação 2012.2. Noções (super) básicas de OO. (PARTE 01). Criando e instanciando uma classe com um construtor vazio (utilizando JAVA). Professor: Leandro Marques. (material produzido pelo monitor Marcelo Coelho).

alec-dalton
Download Presentation

Noções (super) básicas de OO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UFRPE – Monitoria de Programação 2012.2 Noções (super) básicas de OO (PARTE 01) Criando e instanciando uma classe com um construtor vazio (utilizando JAVA) 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

  2. ATENÇÃO! Este material NÃO se propõe a ser um curso de programação orientada a objetos ou de JAVA! A minha intenção é de apenas TENTAR sanar algumas dúvidas trazidas pelos colegas nos nossos encontros de monitoria. Próximo

  3. Revisando... • Na nossa classe de exemplo (Veiculo¹), criaremos os seguintes atributos: String marca; //ex: “Fiat”, “Ford”, null String modelo; //ex: “Uno”, “Ka”, null intqtdeRodas; //ex: 4, 2, 0 String cor; //ex: “azul”, “verde”, null Próximo ¹ Evitaremos o uso de acentuação nos identificadores de classes e variáveis.

  4. A nossa classe “Veiculo”: public classVeiculo{ //atributos String marca; String Modelo; intqtdeRodas; String cor; Isto não é necessário, mas vamos deixá-lo aqui por questões Didáticas, ok? //contrutores publicVeiculo() { } } Próximo

  5. A nossa classe “Teste”: public classTeste{ Veremos o que essas coisas significam DEPOIS, ok? //método main publicstatic voidmain(String[] args) { Por hora, tenha em mente que você precisa de apenas um método “main” em todo o sistema para poder “dar a partida” no seu programa! //ele poderia estar em qualquer classe, //é aqui que iremos “chamar” as //mas optei por fazer uma exclusivamente //outras classes do sistema //para ele (a classe “Teste”)... } } Próximo

  6. Ilustração do que acontece na “memória” ao criarmos variáveis de tipos primitivos (int, boolean, double, etc...) x 5 a 2 public classTeste{ public classVeiculo{ //método main publicstatic voidmain(String[] args) { //atributos String marca; String Modelo; intqtdeRodas; String cor; int x; //declaramos uma variável do TIPO inteiro x = 5; //atribuimos o valor 5 a “x” //podemos fazer isso em um único “movimento”... //contrutores publicVeiculo() { } int a = 2; } Próximo } }

  7. Ilustração do que acontece na “memória” ao criarmos variáveis de tipos NÃO primitivos (Veiculo, Animal, etc...) v2 marca:null modelo:null qtdeRodas: 0 cor:null Quando o “new”, foi utilizado, eu (o construtor da classe “Veiculo”) fui chamado para realizar a criação do objeto. Em outras palavras: a classe “Veiculo” foi instanciada! v1 marca:null modelo:null qtdeRodas: 0 cor:null public classTeste{ public classVeiculo{ //método main publicstatic voidmain(String[] args) { //atributos String marca; String Modelo; intqtdeRodas; String cor; //declaramos uma variável de referência //do TIPO Veiculo Veiculo v1; //criamos um objeto do tipo Veiculo com “new” //e usamos “v1” como referência para esse objeto //contrutores publicVeiculo() { } v1 = new Veiculo(); //podemos fazer isso em um único “movimento”... Veiculo v2 = new Veiculo(); } Próximo } }

  8. Ilustração do que acontece na “memória” ao criarmos variáveis de tipos NÃO primitivos (Veiculo, Animal, etc...) v2 marca:null modelo:null qtdeRodas: 0 cor:null v1 marca:null modelo:null qtdeRodas: 0 cor:null v3 Perceba que eu (o construtor) não fui acionado pela última linha da classe “Teste” ( cláusula “new” inexistente), portanto nenhum objeto foi criado. O que ocorreu foi apenas a criação de uma (outra) referência para um objeto já existente! public classTeste{ public classVeiculo{ //método main publicstatic voidmain(String[] args) { //atributos String marca; String Modelo; intqtdeRodas; String cor; Veiculo v1; v1 = new Veiculo(); Veiculo v2 = new Veiculo(); //podemos declarar outra referência do tipo “Veiculo” Veiculo v3; //contrutores publicVeiculo() { } //e usá-la também para referenciar o mesmo objeto // referenciado por “v2” v3 = v2; } Próximo } }

  9. Praticando e explorando Experimente executar o mesmo exemplo sem a minha presença! O que você acha que aconteceu? public classVeiculo{ //atributos String marca; String Modelo; intqtdeRodas; String cor; Você percebeu alguma diferença ao executar o código? //contrutores publicVeiculo() { } }

More Related