Você está na página 1de 4

Universidade Federal do Rio Grande do Norte

Instituto Metrpole Digital


IMD0040 - Linguagem de Programao 2
Reviso Aula 01 Orientao a Objetos

Orientao a Objetos

A orientao a objetos uma maneira de programar que procura representar o mundo como
ele funciona. Dessa maneira, podemos construir sistemas, jogos e simulaes que possuam
indivduos ou coisas (objetos) que tenham caractersticas (atributos) e aes/comportamento
(mtodos). Um objeto uma instncia de uma classe. A instncia nada mais do que a alocao de
uma classe em um espao da memria.

Representando o mundo

Vamos parar para pensar em um carro. De que ele composto? Quais so os componentes
que formam o objeto carro? Duas ou mais portas, bancos, vidros, janelas, rodas, freios, motor,
tanque de combustvel... O nvel de abstrao vai variar de acordo com o nvel de realismo que o
programador desejar para representar o objeto. Eu posso dizer que o carro formado por uma
lataria e 4 rodas ou fazer dele um sistema complexo como um carro de verdade.

BlueJ

O BlueJ um programa que ajuda a ilustrar muito bem os conceitos de Orientao a Objetos.
Esta pequena atividade ir ajudar a utilizar o BlueJ e entender os principais conceitos de orientao
a objetos. Utilizaremos como base um cdigo simples que representa um computador.
Um computador formado por diversas peas, nesse exemplo usaremos apenas 4: memria
RAM, disco rgido, processador e placa me. Uma outra entidade ser responsvel por juntar as 4
partes e se chamar computador.

Passo 1:
Baixe o Projeto e abra-o no BlueJ. Para isso, s clicar em Arquivo, abrir
projeto e selecionar o caminho da pasta. No Windows voc pode fazer isso mais
facilmente ainda abrindo o arquivo Package.bluej que veio junto com os
demais arquivos.
Passo 2:
Visualize o diagrama de classes, voc consegue enxergar os componentes separados
apontando para o componente central chamado Computador?
Passo 3:
Clique duas vezes em cada componente e leia os cdigos com ateno. Em seguida,
abra o cdigo de Computador e veja como os componentes so atributos desta
classe.
Estamos fazendo, na classe principal, o uso de outros objetos que compe um computador.
O nvel de abstrao est baixo, mas ser o suficiente por enquanto. Agora clique em cada
componente com o boto direito e crie um objeto de cada. Preste ateno no nome que voc dar
a ele, ele ser necessrio quando formos criar o objeto Computador. Sugiro que voc escolha os
seguintes nomes: ram1, disk1, cpu1, mb1. Tudo em minsculo (e sem aspas, claro). Feito
isso, seu BlueJ dever se parecer com isso:

Agora, inspecione cada elemento clicando com boto direito nos objetos criados. Para isso,
basta clicar nos quadrados vermelhos e clicar em inspecionar. Voc consegue ver os atributos de
cada componente nesta janelinha, no ?

Criando um objeto Computador

Temos todos os nossos componentes j instanciados, vamos criar um computador. Para isso,
clique com o boto direito na classe Computador e crie um novo objeto. Nesta janela, selecione o
nome que desejar para o computador e perceba que, em new Computador (. ), os espaos no
pedem tipos comuns como Int, String ou qualquer outro tipo conhecido. Ele pede objetos dos tipos
que criamos anteriormente.
Ento, coloque em cada lacuna o nome exato do objeto que instanciamos anteriormente.
Sua janela deve ficar preenchida desta forma.
Aperte ok e voc ter um objeto Computador criado.

Comportamento

Se voc criou corretamente, uma janela deve ter se aberto mostrando o POST do computador.
O POST um software utilizado em praticamente TODOS os computadores e ele mostra o statatus
das peas do seu sistema.
O construtor de nosso computador responsvel por chamar o POST, por isso que assim
que ele criado podemos v-lo aparecendo na tela. O POST um mtodo publico, que pode ser
chamado a qualquer momento. Faa o teste, clique no objeto Computador e chame o mtodo POST.
Olhando os outros objetos, ver que todos tem um mtodo chamado Status.

Vamos treinar

Agora chegou a hora de fazermos alteraes no computador. Vamos criar algumas alteraes
no nosso programa e v-las sendo realizadas na tela.

Questo 1:
Crie mais classes e diminua a abstrao do seu computador. Olhe o cdigo de uma
das classes e crie voc mesmo mais algumas coisas, como Mouse, Teclado, Placa de
Som, Placa de Vdeo, etc. uma tarefa bem simples, mas lembre-se: todas as novas
adies precisam ser conhecidas pelo nosso Computador e possurem um mtodo
Status que ser chamado no Post. Para validar sua resposta, crie ao menos 3 novas
classes.
Questo 2:
Vamos modificar a classe principal. Aps a insero dos novos componentes,
modifique o mtodo POST para privado. Agora crie um atributo chamado booleano
chamado poweron que dever ser inicializado em false no construtor.

Questo 3:
Crie estes novos mtodos:

public void powerButton(){...}


Este mtodo, quando chamado, dever verificar o estado de
poweron. Caso ele esteja em false, dever ligar o computador e chamar
mtodo privado POST.

public boolean isPowerOn(){...}


Este mtodo dever apenas retornar o estado do nosso computador: ligado
ou desligado. Para isso, mande-o retornar o campo poweron.

public void powerOff(){...}


Este mtodo dever desligar o computador CASO ELE ESTEJA LIGADO. Voc
precisa fazer a verificao se ele est ligado para poder funcionar. Caso a
verificao seja positiva, ele dever imprimir na tela: Desligando o
Computador com Segurana.

Esta uma atividade simples mas atenham-se aos comentrios nos cdigos. importante
que vocs tenham a prtica de comentar os cdigos desde j. Caso voc no conhea o Javadoc de
comentar, comente normalmente com barras duplas, o Javadoc ser ensinado mais pra frente.