1 / 21

Desenvolvimento de Sistemas Orientados a Objetos

Desenvolvimento de Sistemas Orientados a Objetos. METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail: abdala@das.ufsc.br. Objetivos. Fixar os diversos aspectos da orientação a objetos via exemplos; Introduzir os conceitos de:

louis
Download Presentation

Desenvolvimento de Sistemas Orientados a Objetos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desenvolvimento de Sistemas Orientados a Objetos METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala e-mail: abdala@das.ufsc.br

  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 – IntegratedDevelopmentEnvironment • NetBeans • http://netbeans.org/features/web/java-ee_pt_BR.html • Eclipse • http://www.eclipse.org/downloads/

  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 voidprintIt(); public abstract voiddrawIt(); }

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

  10. //interface especifica do objeto publicvoidmovePara(doublenx, doubleny, doublenz){ x = x + nx; y = y + ny; z = z + nz; } publicdouble distancia(Ponto p){ doubledistX = p.getx() - x; doubledistY = p.gety() - y; doubledistZ = p.getz() - z; returnMath.sqrt(distX*distX + distY*distY); } //metodos de acesso publicvoidsetponto(intnx, intny, intnz){ x = nx; y = ny; z = nz; } publicdoublegetx(){ returnx; }

  11. publicdoublegety(){ return y; } publicdoublegetz(){ return z; } //implementação da interface abstrata publicvoidprintIt(){ System.out.print(x); System.out.print(y); System.out.print(z); System.out.print("\n"); } publicvoiddrawIt(){ //TODO: decidir em que ambiente o ponto deve ser desenhado } }

  12. ////////////////////////////////////////////////// //Retangulo // ////////////////////////////////////////////////// public class Retangulo extends Object{ privatePonto p1; privatePonto p2; publicRetangulo(Ponto np1, Ponto np2){ p1 = np1; p2 = np2; } publicvoidprintIt(){ } publicvoiddrawIt(){ } publicdoublearea(){ doublea = p2.getx() - p1.getx(); doubleb = p2.gety() - p1.gety(); returna * 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 Logpara 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

More Related