Você está na página 1de 30

Linguagem de Programao I

Prof. Vickybert P. Freire

Assuntos serem tratados


Declarao de classes, atributos e mtodos. UML viso geral; Mtodos acessores; Interpretao de diagrama de classes; Desenvolvimento de classes, objetos, atributos e mtodos.

Packages
O pacote (package) uma forma de organizar da classes e interfaces relacionadas dentro de um mesmo namespace; Conceitualmente pode-se pensar que um pacote como uma pasta no computador;

Packages
Permite proteo de acesso s classes. Classes default e protected com permisso restrita

Packages
Os nveis de hierarquia dos pacotes so separados por ponto (.) Exemplo:
package br.edu.fatecosasco.aula02

Imports
O import serve para dar sua classe visibilidade de classes de outros pacotes; possvel importar uma classe especfica ou todas as classes de um pacote; Exemplo:
import java.util.Date; import java.sql.*;

Caractersticas Importantes
Cada arquivo fsico pode ter no mximo 1 classe pblica O nome do arquivo fsico deve ser o mesmo do nome da classe pblica O nome do pacote deve ser a primeira linha da classe Se existirem imports devem estar entre o pacote a declarao da classe

Declarao de classes
Sintaxe:
<modificador_de_acesso> <modificador_de_classe> class NomeDaClasse { }

Modificadores de Acesso: public, protected, private, default; Modificadores de Classe: abstract, final, strictfp;

Exemplo:
class A { } public abstract strictfp class B { }

Declarao de Atributos
Sintaxe:
<modificadorDeAcesso>[static] [final] <tipoDeDado> nomeDoAtributo;

Exemplo:
private String nomeCliente; public static final VALOR_MAX;

Declarao de Mtodos
Sintaxe:
<modificadorDeAcesso> [static] [final|abstract] <tipoDeDadoRetornado> nomeDoMetodo([parmetros]) [throws Exception] { }

Exemplo:
void fazerAlgo() { } public static void main(String[] args) { } public abstract ordenar(int[] array);

UML
Por que e para que? A Unified Modeling Language (UML) uma linguagem de modelagem. A UML no uma metodologia de desenvolvimento, mas ela lhe auxilia a visualizar o desenho do sistema e a comunicao entre objetos.

UML
Os objetivos da UML so: especificao, documentao, estruturao para subvisualizao e maior visualizao lgica do desenvolvimento completo de um sistema de informao. A UML um modo de padronizado de modelagem.

UML
Tipos de diagramas:
Caso de Uso Classes Sequncia

UML Diagrama de Caso de Uso

UML Diagrama de Sequncia

UML Diagrama de Classe

Mtodos Acessores
Conhecidos como Getters/Setters; So mtodos que provm acesso aos atributos privados de forma encapsulada;

Mtodos Acessores
Exemplo:
public class Conta { private float saldo; public void setSaldo(float saldo) { this.saldo = saldo; } public float getSaldo() { return saldo; } }

Mtodos Acessores Por que?


Exemplo:
public class Conta { private Float saldo; public void setSaldo(Float saldo) { this.saldo = saldo; } public float getSaldo() {

if (saldo == null) { saldo = ContaDAO.getSaldo(); }


return saldo; } }

Listas - bsico
Uma lista um artefato utilizado para guardar itens de forma ordenada e sequencial. Em Java existem diversas classes com a capacidade de exercer esta funo. Estas classes permitem a incluso, excluso e consulta na lista. Todas as classes que exercem esta mesma funo so filhas de List. A principal classe a ArrayList.

Listas - bsico
Exemplo de criao de uma lista:
List lista = new ArrayList();

Adicionar item na lista:


lista.add(item);

Recuperar item da lista:


lista.get(ndice_do_item);

Listas - bsico
possvel tipificar os itens que iro compor a lista. Para isto utilizada a seguinte sintaxe na criao da lista:
List<Tipo> lista = new ArrayList<Tipo>();

Corrida

Listagem
Obs: Todas as classes sero criadas no pacote br.edu.fatecosasco.aula03.corrida 1. Crie uma classe Motor com o atributo potncia (inteiro que varia entre 1 e 100), verifique se o valor encontra-se dentro dos limites estabelecidos (1 - 100). Caso o valor extrapole o limite superior ou inferior, o valor da potncia deve igual ao mnimo ou ao mximo.

2. Crie uma classe Carro. Adicione os atributos:


a. velocidade mxima (double). b. velocidade atual (double). c. ligado (boolean). d. Motor

3. Adicione classe Carro os mtodos:


a. ligar b. acelerar c. frear d. desligar

Listagem
4. Altere o mtodo acelerar() de forma que a velocidade atual seja elevada a uma taxa proporcional potncia do Motor, respeitando a velocidade mxima, isto se o carro estiver ligado. (Exemplo:
velocidade atual * (1+potncia/100) ). Dica: se o carro estiver parado, a velocidade atual deve ser desconsiderada.

5. Altere o mtodo frear() de forma que reduza a velocidade atual em 10% se a velocidade atual for acima de 10. Caso a velocidade atual seja igual ou inferior a 10 alterar a velocidade para 0. 6. Crie uma classe Piloto. Adicione um atributo Carro. 7. Crie uma classe Corrida, com mtodo main: a. Instancie as classes necessrias e simule uma corrida, acelerando e freando o carro, atravs do Piloto.

Sistema de Sala de Aula

Listagem
1. Crie uma classe Aluno.
Adicione os atributos: a. nome (String). b. faltas (int). c. mdia (double).

Adicione o mtodo: a. getStatus (retorna String) 2. Crie uma classe SalaDeAula. Adicione o atributo: a. alunos (List<Aluno>) Adicione os mtodos: a. matricular b. imprimirRelatorio 3. No mtodo getStatus, na classe Aluno, calcular o Status de Aprovao do aluno.

Listagem
4. No mtodo matricular, na classe SalaDeAula, faa com que o aluno recebido por parmetro seja inserido na lista. 5. No mtodo imprimirRelatrio, imprima um cabealho para o relatrio e a seguir, itere por todos os alunos matriculados, imprimindo seu Nome, Qtd de Faltas, Mdia, e Status de Aprovao. 6. Crie uma classe Escola. a. Crie o mtodo main b. No mtodo main, crie um objeto SalaDeAula, crie objetos Aluno, matricule-os e imprima o relatrio