A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de Sistemas Orientados a Objetos

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Sistemas Orientados a Objetos"— Transcrição da apresentação:

1 Desenvolvimento de Sistemas Orientados a Objetos
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala

2 Objetivos Fixar os diversos aspectos da orientação a objetos via exemplos; Introduzir os conceitos de: Modificadores de acesso; Métodos de acesso; Classes abstratas. Exercitar os tópicos visto em aula via o exemplo Geometrix.

3 Revisando OO Objetos x Classes x Instâncias Objetos
Estado Funcionalidades Identificação Única Objetos interagem via troca de mensagens Mensagens x Métodos (public x private) Especialização x Agregação

4 Ambiente de Desenvolvimento
IDE – Integrated Development Environment NetBeans Eclipse

5 IDE - Eclipse

6 IDE - NetBeans

7 Classes Abstratas Definem uma interface (conjunto de métodos) que devem ser definidos por todas as classes que especializem esta classe

8 Classes Abstratas ////////////////////////////////////////////////// //FiguraGeometrica // //Desc: Define uma interface unificada que todos // os objetos filhos devem implementar public abstract class FiguraGeometrica extends Object{ public abstract void printIt(); public abstract void drawIt(); }

9 ////////////////////////////////////////////////// //Ponto // //Desc: Implementa o objeto ponto em 3 dimensões public class Ponto extends FiguraGeometrica{ //atributos private double x; private double y; private double z; //construtor public Ponto(){ x = 0; y = 0;z = 0; } public Ponto(double nx, double ny, double nz){ x = nx; y = ny;z = nz;

10 //interface especifica do objeto public void movePara(double nx, double ny, double nz){ x = x + nx; y = y + ny; z = z + nz; } public double distancia(Ponto p){ double distX = p.getx() - x; double distY = p.gety() - y; double distZ = p.getz() - z; return Math.sqrt(distX*distX + distY*distY); //metodos de acesso public void setponto(int nx, int ny, int nz){ x = nx; y = ny; z = nz; public double getx(){ return x;

11 public double gety(){ return y; } public double getz(){ return z; //implementação da interface abstrata public void printIt(){ System.out.print(x); System.out.print(y); System.out.print(z); System.out.print("\n"); public void drawIt(){ //TODO: decidir em que ambiente o ponto deve ser desenhado

12 ////////////////////////////////////////////////// //Retangulo // public class Retangulo extends Object{ private Ponto p1; private Ponto p2; public Retangulo(Ponto np1, Ponto np2){ p1 = np1; p2 = np2; } public void printIt(){ public void drawIt(){ public double area(){ double a = p2.getx() - p1.getx(); double b = p2.gety() - p1.gety(); return a * b; }}

13 Exercício Crie classes para representar:
Elipses Círculos Quadrados Polígonos Liste os métodos e atributos que devem estar contidos em cada um dos objetos antes de definir as classes;

14 Exemplo da Aula - Calculadora

15 Projeto Calculadora Projeto pequeno, nem todos os diagramas serão necessários: Documento de escopo Documentos de descrição do projeto Levantamento de Requisitos Levantamento de Objetos Modelagem Programação

16 Escopo Uma empresa que cria programas para supermercados deseja adicionar a seu sistema já existente uma calculadora para cálculos simples. O programa deve ser criado embora já existam calculadoras em computador porque o sistema roda em hardware dedicado sem acesso direto ao sistema operacional. O programa calculadora deve permitir a entrada de números de até oito dígitos. O cálculo resultante deve ter no máximo nove dígitos. O programa deve aceitar tanto entrada de dados via teclado quanto via cliques de mouse. Para as operações binárias, um dos operandos é assumido como o número existente no display no momento em que os sinais +, - , * ou / são selecionados. Após a seleção de uma operação, o segundo número será assumido como o número no display no momento em que se preciona o sinal =, +, -, * ou /. A seleção de “CE” ou “C” devem limpar ambos os operandos. Para os operadores unários, %, 1/x ou √, operador único deve ser assumido como sendo o número atual no display. Todos os cálculos efetuados na calculadora devem ser salvos em um Log para que os mesmos possam ser auditados posteriormente.

17 Definição de requisitos via Interface
O display deve ser limpo Opera apenas com o número no display Requer que um segundo número seja informado Requer que o cálculo binário seja efetuado

18 Estados do Objeto Calculadora
%, 1/x, √ Primeiro n. sendo digitado Buffer 1 Definido +, - , *, / Display vazio C, CE Primeiro n. sendo digitado C, CE =, +, - , *, / Mostra resultado C, CE

19 Atributos do Objeto Calculadora
Display Buffer1 Buffer2 Memória Log

20 Mensagens do Objeto Calculadora
checaOperandoValido calculaMais calculaMenos calculaVezes calculaDivisao calculaPercentagem calculaRaiz calculaInv salvaParaMemoria recuperaDaMemoria

21 Exercício Modele o Objeto Log que registrará todos os cálculos feitos na calculadora


Carregar ppt "Desenvolvimento de Sistemas Orientados a Objetos"

Apresentações semelhantes


Anúncios Google