Sunteți pe pagina 1din 60

Uninove PROGRAMAO ORIENTADA A OBJETOS

NETBEANS: roteiro bsico


Prof. Marcelo Medeiros Eler marceloeler@uninove.br

Roteiro
Criao de novo projeto Um pequeno exemplo Tipos de dados Converso de tipos Comandos de entrada e sada Criao de uma simples classe

Criar novo projeto


Abrir o Netbeans Criar novo projeto Escolher tipo de projeto Escolher nome e local de projeto Projeto criado

Abrir o Netbeans

Criar novo projeto

Escolher tipo de projeto


Categorias: Java
1

Projetos: Aplicao Java


2

Escolher nome e local do projeto

Especifica que automaticamente ser criada uma classe principal para executar o projeto. A classe Main possuir um mtodo main, semelhante ao void main do C++.

Finalizar criao de projeto

Projeto Criado

Projeto Pacote Classe Principal Cdigo da classe principal

Mtodo main da classe principal. Ao executar o projeto, as instrues deste mtodo sero executadas em primeiro lugar, ou seja, deste mtodo que a aplicao iniciada.

Um pequeno exemplo

Para usar as classes do Java preciso import-las, semelhantemente aos #include<..> de C++

Cdigo para ler e mostrar o texto digitado por um usurio usando o JOptionPane.

Executar projeto/arquivo

Opo 1: a classe principal do projeto ser executada.

Opo 2: boto direito em cima do arquivo a ser executado. Toda classe que possui o mtodo main pode ser executada.

Tipos de dados

Comandos de entrada: classe Scanner


Um objeto do tipo Scanner deve ser criado com o comando new e ligado a uma entrada do sistema Scanner teclado = new Scanner(System.in); Alguns mtodos da classe Scanner:
nextBoolean() nextByte() nextFloat() nextInt() nextLine()

Comandos de entrada: classe Scanner

Comandos de entrada: classe JOptionPane


A classe JOptionPane utlizada para abrir uma caixa de dilogo com o usurio. As informaes obtidas por meio do JOptionPane so do tipo string. Mesmo quando se deseja ler nmeros inteiros, ou float, a informao lida em uma string e deve-se realizar a converso de string para o tipo desejado. A seguir apresentado como fazer algumas converses de tipos em Java.

Converso de tipos
De String para float String st = 5.5; float f = Float.valueOf(st); De String para int String st = 72; int i = Integer.parseInt(st); De String para boolean String s = true; boolean b = Boolean.valueOf(s);

Converso de tipos
De float para String float f = 7.5; String st = String.valueOf(f); De int para String Int p = 122; String st2 = String.valueOf(p);

Exemplo: JOptionPane

Comandos de entrada: classe JOptionPane


Uma outra possibilidade utilizar a classe JOptionPane para dilogos de confirmao do tipo SIM, NO e CANCELAR. O resultado do dilogo um nmero inteiro que deve ser comparado s constantes:
CANCEL_OPTION NO_OPTION OK_OPTION CLOSED_OPTION

Comandos de entrada: classe JOptionPane

Comandos de sada
Pode-se usar a classe System ou a JOptionPane Com a classe System:
System.out.println(Sada);

Com a classe JOptionPane


JOptionPane.showMessageDialog(null,Saida);

Comandos de sada

Criao de uma simples classe


Criar nova classe Escolher nome e local Arquivo de classe criado Definir os atributos Definir o construtor Gerar mtodos get e set Definir os mtodos especficos Criar e usar uma instancia (objeto) da classe criada

Criar nova classe

Clique com o boto direito do Mouse e escolha Novo -> Classe Java

Escolher nome e local

D um nome para a classe

Finalizar

Arquivo de classe criado

Cdigo da classe a Ser preenchida com Mtodos e atributos

A classe foi criada no Pacote projetopoo

Definir os atributos
Importao da classe cor

Atributos da classe lampada

Definir o construtor
O construtor um mtodo especial que possui o mesmo nome da classe e no possui tipo. O construtor um mtodo especial que executado na criao de um objeto da classe. Em geral o construtor usado para iniciar os valores dos atributos. No caso da lmpada, foi especificado pelo construtor que toda lampada criada possui inicialmente voltagem 127, potencia de 60W, cor amarela e estado apagada (false).

Gerar mtodos get e set


Em geral os atributos das classes so privados por motivos de segurana e integridade dos dados. Para alterar ou consultar o valor dos atributos necessrio criar mtodos pblicos com esses objetivos. Esses mtodos so conhecidos de setters e getters, respectivamente.

Setters
Os setters so usados para alterar os valores dos atributos e seguem um padro de construo:
public void set+NomeDoAtributo(tipoDoAtributo nomeDoAtributo) { this.nomeDoAtributo = nomeDoAtributo. } Exemplo: atributo voltagem public void setVoltagem(int voltagem) { this.voltagem = voltagem; }

Setters
Para diferenciar o voltagem que atributo do voltagem que parmetro, usa-se a referncia this.voltagem para se referir ao atributo. Nos setters possvel implementar regras para garantir a integridade dos atributos. No exemplo, pode-se definir que o valor da voltagem s ser aceita se for 127 ou 220.
public void setVoltagem(int voltagem) { if (voltagem==127 || voltagem==220) this.voltagem=voltagem; }

Getters
Os getters so usados para consultar o valor de um atributo e tm o seguinte padro de construo:
public tipoDoAtributo getNomeDoAtributo() { return nomeDoAtributo; //ou return this.nomeDoAtributo } Ex: voltabem public int getVoltagem() { return voltagem; //ou return this.voltagem }

Getters
Quando o atributo do tipo boolean, uma variao do mtodo do tipo get pode ocorrer. Ao invs de usar getNomeDoATributo, usa-se isNomeDoAtributo.
Ex: acesa public boolean isAcesa() { return acesa; //ou return this.acesa }

Gerar mtodos get e set


No NetBeans os getters e setters podem ser gerados automaticamente. Para isso v na opo Refatorar do menu e escolha Encapsular Campos

Gerar mtodos get e set

Selecione os mtodos get e set desejados

Gerar mtodos get e set

Nome dos mtodos get que sero gerados

Nome dos mtodos set que sero gerados

Clique em refatorar

Gerar mtodos get e set


Mtodos getters e setters gerados e inseridos logo aps o construtor.

Cdigo gerado at agora


package projetopoo; import java.awt.Color; public class Lampada { //atributos da lampada private int voltagem; private int potencia; private Color cor; private boolean acesa; public Lampada() { voltagem=127; potencia=60; cor=Color.yellow; acesa=false; //apagada } public int getVoltagem() { return voltagem; } public void setVoltagem(int voltagem) { this.voltagem = voltagem; } public int getPotencia() { return potencia; } public void setPotencia(int potencia) { this.potencia = potencia; } public Color getCor() { return cor; } public void setCor(Color cor) { this.cor = cor; } public boolean isAcesa() { return acesa; } public void setAcesa(boolean acesa) { this.acesa = acesa; } }

Sistemtica para criar classes


importante para quem est comeando a trabalhar com programao O.O. ter uma sistemtica para escrever classes. Sugiro que utilize a seguinte ordem de implementao:
Declarar a classe Definir os atributos Definir o(s) construtor(es) Escrever os mtodos getters e setters Escrever os mtodos especficos da classe

Sistemtica para criar classes


A declarao da classe, dos atributos, construtor(es) e getters e setters so padro para todas as classes. J os mtodos que chamo de especficos, so exclusivos daquela classe. Construtores e getters and setters tanto a classe Lampada quanto a classe Funcionario possuem, embora tratem de atributos diferentes. J os mtodos especficos so diferentes: enquanto o funcionrio possui o mtodo calcularIMposto, calcularSalario e mostrarInformaes, a classe Lampada possui os mtodos ligar e desligar.

Sistemtica para criar classes


As partes comuns de todas as classes (declarao, atributos, construtores, getters e setters) no exige muita elaborao, apenas padronizao. J os mtodos especficos exige que o desenvolvedor pense sobre qual a ao a ser executada. Em geral os mtodos operam sobre os atributos definidos pela classe e com os parmetros recebidos, se houver.

Definir os mtodos especficos


Os mtodos especficos da Lampada podem ser:
ligar desligar mostrarSituacao mostrarInformacoes

Definir os mtodos especficos


Os comportamentos dos mtodos podem ser:
Ligar: muda o atributo acesa para true Desligar: muda o atributo acesa para false MostrarSituacao: se a lampada estiver acesa exibir o mensagem: acesa MostrarInformacoes: mostrar informacoes sobre voltagem, potencia, cor e situacao da lampada.

Definir os mtodos especficos


Mtodos para ligar e desligar a lampada. Simplesmente opera sobre o atributo acesa para mudar para true (ligar) ou false (desligar) Consulta o estado da lampada usando um dos mtodos get, para o atributo acesa. Poderia ter consultado o atributo diretamente If (acesa) ...

Exibe o valor dos atributos de Lampada.

Chamada a um mtodo da prpria classe para mostrar se a lampada est acesa ou apagada.

Cdigo da classe Lampada


package projetopoo; import java.awt.Color; public class Lampada { //atributos da lampada private int voltagem; private int potencia; private Color cor; private boolean acesa; public Lampada() { voltagem=127; potencia=60; cor=Color.yellow; acesa=false; //apagada } public int getVoltagem() { return voltagem; } public void setVoltagem(int voltagem) { this.voltagem = voltagem; } public int getPotencia() { return potencia; } public void setPotencia(int potencia) { this.potencia = potencia; } public Color getCor() { return cor; } public void setCor(Color cor) { this.cor = cor; } public boolean isAcesa() { return acesa; } public void setAcesa(boolean acesa) { this.acesa = acesa; } public void ligar() { acesa=true; } public void desligar() { acesa=false; } public void mostrarSituacao() { if (isAcesa()) System.out.println ("Lampada Acesa"); else System.out.println ("Lampada Apagada"); } public void mostrarInformacoes() { System.out.println("\n\nInformacoes sobre a lampada:"); System.out.println("\nVoltagem: " + voltagem); System.out.println("\nPotencia: " + potencia); mostrarSituacao(); } }

Criar uma instncia (objeto) da classe criada


Ao criar nosso projeto, uma classe especial foi criada: Main. Essa classe contm um mtodo chamado main, semelhante ao void main() de C++, que ser executada quando o projeto for executado. Criaremos e usaremos uma instncia (objeto) da classe Lampada no mtodo main da classe Main.

Criar uma instncia (objeto) da classe criada

D dois cliques na classe Main. direita aparecer o cdigo da classe para ser editado.

Criar uma instncia (objeto) da classe criada


O fato de termos criado uma classe do tipo Lmpada no quer dizer que exista uma lmpada para ser manipulada, pois a classe apenas uma especificao dos atributos e mtodos que devem estar presentes em um objeto do tipo Lmpada. Para utilizar uma lmpada, de fato, precisamos criar um objeto que siga as especificaes a atributos e mtodos de Lmpada.

Criar uma instncia (objeto) da classe criada


Criar um objeto de uma classe semelhante a criar uma varivel de um determinado tipo. Para criar uma varivel seguimos a seguinte regra: tipo nomeDaVariavel; Para criar uma varivel idade do tipo inteiro, por exemplo, usamos: int idade;

Criar uma instncia (objeto) da classe criada


Para criar um objeto, segue-se a mesma regra: tipoDoObjeto objeto; O tipo do objeto nada mais do que o nome da classe. Se quisermos criar uma lmpada lamp devemos declarar:
Lampada lamp;

Como lamp um objeto e no um tipo primitivo, precisamos executar um comando para cri-la:
lamp = new Lampada();

Criar uma instncia (objeto) da classe criada


Ao executar essas instrues (lamp=new Lampada()), o construtor Lampada() ser acionado e os atributos iniciados. Repare que o que segue o comando new como se fosse a chamada ao construtor Lampada(). A criao do objeto tambm pode ser feita na prpria declarao:
Lampada lamp = new Lampada();

Assim como possvel iniciar uma varivel com um valor:


int x = 10;

Criar uma instncia (objeto) da classe criada

Criao do objeto do tipo Lampada.

Usar o objeto criado


Uma vez que o objeto foi criado, pode-se invocar os mtodos presentes especificados pela classe. No caso de Lmpada, pode-se alterar e consultar os atributos, ligar e desligar a Lmpada, exibir a situao e exibir as informaes sobre os atributos.

Usar o objeto criado


Ao escrever o nome do objeto seguido do . (ponto), o Netbeans abre uma lista de mtodos que podem ser invocados. Os que esto em negrito so os mtodos implementados por ns. Os outros so mtodos provenientes de superclasses (assunto futuro). Na lista apresentado o nome do mtodo, os parmetros e o tipo de retorno.

Usar o objeto criado


Logo aps criar o objeto, o mtodo mostrarInformacoes() foi chamado. O resultado pode ser visto na rea de sada.

Note que os valores exibidos so os valores iniciados pelo construtor. voltagem 127, potencia 60 e lampada apagada

Usar o objeto criado


Repare que desta vez foram usados os mtodos setters para alterar o valor da potencia e da voltagem da lampada antes de mostrar as informaes. Repare que a sada agora diferente: potencia 90 e voltagem 220.

Usar o objeto criado


Desta vez, alm de mudar os atributos, o mtodo ligar() tambm foi invocado. O resultado pode ser visto na rea de sada: Lampada acesa.

Usar o objeto criado


Usando mtodos getters para consultar informaes.

Exerccio
Construa uma classe que represente um funcionrio de uma empresa. O funcionrio possui os seguintes atributos: nome, CPF, telefone, horas de trabalho por ms e um valor que recebe por hora trabalhada. Os mtodos que devem ser implementados so:
Construtor Getters e setters Mtodo para calcular e retornar o salario do funcionario: horasTrabalho * valorHora Mtodo para mostrar as informaes do funcionrio, inclusive o salrio calculado (use a chamada ao mtodo j implementado).

Exerccio (cont.)
Implemente tambm um mtodo principal para criar um objeto do tipo funcionrio. Para atribuir valores aos atributos do funcionrio deve-se solicitar ao usurio que informe o nome, cpf, fone, horas de trabalho e valor/hora do funcionrio. Aps atribuir os valores lidos ao funcionrio, exiba seu salrio e em seguida suas informaes completas (use os mtodos implementados). Entrega: at 14/03

Uninove PROGRAMAO ORIENTADA A OBJETOS

NETBEANS: roteiro bsico


Prof. Marcelo Medeiros Eler marceloeler@uninove.br

S-ar putea să vă placă și