1 / 22

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. Introduzir o conceito de desenvolvimento de sistemas orientados a objetos;

hallam
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 Introduzir o conceito de desenvolvimento de sistemas orientados a objetos; Explicar como funciona o paradigma de programação orientado a objetos; Introduzir os conceitos de classes e instâncias e delinear a diferença entre ambos; Definir os elementos componentes de um objeto (atributos e comportamentos) Delinear a relação entre desenvolvimento OO e modelagem de sistemas

  3. Plano Paradigma e Filosofia OO; Abstração; Classes vs Instâncias; Métodos; Encapsulamento.

  4. Paradigma Orientado a Objetos • Paradigma de programação • Abstrações do mundo real interagem para atingir o objetivo do sistema • Identificam-se objetos do mundo real e abstraem-se suas características e funcionalidades para compor uma entidade computacional (Objeto)

  5. Filosofia de Programação OO • Todo o programa é composto por objetos que implementam entidades mapeadas do mundo real • Objetos possuem: • Atributos • Comportamentos/mensagens • A execução do programa é levada a cabo por meio da interação entre objetos. • Troca de mensagens

  6. Elementos de Um programa OO • Estrutura • Entrada do programa • Função ou Objeto de entrada (main) • Objetos • Classes • Instâncias • Funcionamento • Criação de instâncias • Troca de mensagens

  7. Abstração • Identificar entidades do mundo real que comporão o programa • Identificar seus atributos relevantes • Identificar suas funcionalidades relevantes • Criar um protótipo ou classe que as represente

  8. Exemplo • Abstração do objeto Cavalo • Atributos • Cor • Crina • Raça • Comportamentos • Galopar • Trotar • Saltar • .....

  9. Exemplo • É importante notar que durante o processo de abstração: • Identificar os atributos e comportamentos relevantes para o domínio da aplicação; • Dimensionar os atributos; • Descrever como os comportamentos identificados como pertinentes devem funcionar; • Exercício: • Criar o protótipo de um objeto para a representação de um ponto

  10. Objetos • Existem em dois momentos • Tempo de compilação • Tempo de execução • Entidades • Classes – Definição dos protótipos dos objetos, especifica qual é a estrutura e comportamento do objetos • Instâncias – realização funcional das classes. São os elementos executivos do sistema.

  11. Classes • Mundo das idéias de Platão; • Especificação do conceito geral, a forma que as instâncias desta classe devem ter; • Define os comportamentos comuns a todas as instâncias da classe • Código fonte único para todas as instâncias é especificado na definição da classe • Uma outra forma de entender classes é considerá-las como tipos de dados (com comportamento associado)

  12. Atributos public class Ponto extends Object { //atributosdaclasse privatefloat x; privatefloat y; privatefloat z; } Dados que definem a forma da classe; Qual informação a classe possui;

  13. Métodos/Mensagens public class Ponto extends Object{ privatefloat x; privatefloat y; privatefloat z; publicvoidmovePara(intnx, intny, intnz) { x = x + nx; y = y + ny; z = z + nz;} publicvoidsetponto(intnx, intny, intnz) { x = nx; y = ny; z = nz;} publicvoidprintIt() { System.out.print(x); System.out.print(y);System.out.print(z); System.out.print("\n");} } Funcionalidades da classe, o que a classe pode fazer

  14. Construtores public class Ponto extends Object{ privatefloat x; privatefloat y; privatefloat z; public Ponto(){ x = 0; y = 0; z = 0; } public Ponto(intnx, intny, intnz){ x = nx; y = ny; z = nz; } } Responsável pela criação de instâncias da classe; Aloca memória para os atributos da instância na Heap;

  15. Métodos de Acesso • Devido ao encapsulamento, os atributos de uma classe só são acessíveis pelos métodos da própria classe • Possível solução: • Criar métodos para acessar e alterar os atributos • Métodos de acesso violam o princípio do encapsulamento?

  16. Instâncias publicclassTestePonto{ public static void main(String[] args) { Ponto p = new Ponto(); Ponto p2 = new Ponto(1,2,3); p.setponto(10, 20, 30); p.printIt(); p2.printIt(); System.out.println("Hello world!"); } } • São realizações do conceito definido pela classe • Ex: um cavalo específico com cor, tipo de crina, etc, definidos

  17. Encapsulamento Objeto 1 Objeto 2 Atributos Atributos mensagens mensagens Característica intrínseca do paradigma OO Variáveis/atributos são encapsulados dentro do escopo das instâncias

  18. A Função de Entrada publicclassHellowWorld { public static void main(String[] args) { System.out.println(“Ponto de entrada!"); } } #include <iostream> intmain() { std::cout << “Ponto de entrada!“ ; } Varia de acordo com linguagem de programação Ponto de entrada do programa onde as instâncias iniciais devem ser criadas Em Java Em C++

  19. Revisitando o Documento de Descrição O sistema consiste em um programa que permite 1 ou 2 pessoas jogar damas. Uma interface gráfica representado o tabuleiro é apresentada em estado inicial com as peças dispostas a cada início de partida. O jogador pode clicar na peça que deseja mover e em seguida na casa para a qual a peça deve ser movida. O sistema testará se o movimento é válido e se este for o caso, a peça será movimentada. O jogador pode também disputar uma partida contra o computador. O computador poderá jogar no modo “fácil”, “normal”, “avançado”, “impossível”.

  20. Identificando Classes, Atributos e Comportamentos Identifique quais serão as classes iniciais a partir do texto anterior Identifique atributos e comportamentos de cada uma das classes

  21. Pontos Chave Orientação a Objetos é um paradigma de programação totalmente diferente da programação estruturada; O conceito base que permeia OO é a abstração; Classes definem a forma geral dos objetos Instâncias são realizações funcionais das classes; Encapsulamento garante que atributos só sejam acessíveis aos métodos da classe que os definem;

  22. Referências R. S. Wazlawick, Análise e Projeto de Sistemas de Informação Orientados a Objetos. Ed. Campus, 2004. Robert W. Sebesta, Concepts of Programming Languages. Addison Wesley, 7th Ed. H. M. Deitel, P. J. Deitel. Java™ Como Programar. Bookman, 3rd Ed, 2000.

More Related