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

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

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

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Sistemas Orientados a Objetos METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala"— 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. 2

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; } //construtor 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 Display vazio +, -, *, / =, +, -, *, / Primeiro n. sendo digitado Buffer 1 Definido Primeiro n. sendo digitado Mostra resultado C, CE %, 1/x,

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 METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala"

Apresentações semelhantes


Anúncios Google