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

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

Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI."— Transcrição da apresentação:

1 Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI

2 Roteiro Conceitos de Orientação a Objetos O que é um Paradigma? Alguns Paradigmas Porque usar Orientação a Objetos? Técnicas de Desenvolvimento de Sistemas Orientados a Objetos Bibliografia Conceitos de Orientação a Objetos O que é um Paradigma? Alguns Paradigmas Porque usar Orientação a Objetos? Técnicas de Desenvolvimento de Sistemas Orientados a Objetos Bibliografia

3 Conceitos de Orientação a Objetos Objeto ou Instância Classe Mensagem Abstração Herança Agregação ou Todo Parte Encapsulamento Polimorfismo Objeto ou Instância Classe Mensagem Abstração Herança Agregação ou Todo Parte Encapsulamento Polimorfismo

4 Objeto Qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e métodos que os manipulam (Odell & Martin, 1995) Tudo em OO é Objeto Qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e métodos que os manipulam (Odell & Martin, 1995) Tudo em OO é Objeto

5 Objeto CACHORRO CASA

6 Objeto Objeto=Atributos+Métodos+Encapsulamento

7 Objeto tem atributos... Carro tem... - nº de portas = 2 - cor = vermelho - fabricante = Volks - ano = placa = XYZ-0102 Carro tem... - nº de portas = 2 - cor = vermelho - fabricante = Volks - ano = placa = XYZ-0102

8 Objeto Objeto tem métodos... Carro tem... - Ligar - Desligar - Acender Farol - Acionar Air-Bag - Travar Portas... Carro tem... - Ligar - Desligar - Acender Farol - Acionar Air-Bag - Travar Portas...

9 Classe Conjunto de objetos similares. Descreve a: Estrutura dos dados; e, Comportamento de objetos similares. Objeto = Instância de Classe Objetos de uma mesma classe diferenciam-se pelos valores de seus atributos. Conjunto de objetos similares. Descreve a: Estrutura dos dados; e, Comportamento de objetos similares. Objeto = Instância de Classe Objetos de uma mesma classe diferenciam-se pelos valores de seus atributos.

10 Classe Objeto 1 Objeto 2 ClasseAutomovel numeroPortascorfabricanteanoplaca

11 Classe ClassePessoa classe Pessoa objeto Maria objeto Pedro nomeidadealturapeso

12 Mensagens Mecanismo através do qual os objetos se comunicam, invocando as operações desejadas. Um objeto (Emissor) envia uma mensagem a outro (Receptor) que executará uma tarefa. Métodos são invocados por Mensagens. Mecanismo através do qual os objetos se comunicam, invocando as operações desejadas. Um objeto (Emissor) envia uma mensagem a outro (Receptor) que executará uma tarefa. Métodos são invocados por Mensagens.

13 Abstração Mecanismo utilizado na análise do domínio. Capturar as informações essenciais das entidades ou objetos envolvidos no contexto do sistema sendo desenvolvido. Enfoca: visão externa do objeto separando seu comportamento de sua implementação. Mecanismo utilizado na análise do domínio. Capturar as informações essenciais das entidades ou objetos envolvidos no contexto do sistema sendo desenvolvido. Enfoca: visão externa do objeto separando seu comportamento de sua implementação.

14 Abstração depende do ponto de vista depende do ponto de vista

15 Herança ou Especialização Permite definir uma nova classe (subclasse) a partir de uma classe já existente (superclasse). Quando se define herança a subclasse herda as características comuns da superclasse e pode ainda adicionar novos métodos ou reescrever métodos herdados. Permite definir uma nova classe (subclasse) a partir de uma classe já existente (superclasse). Quando se define herança a subclasse herda as características comuns da superclasse e pode ainda adicionar novos métodos ou reescrever métodos herdados.

16 Herança ou Especialização Pode ser: Simples Pode ser: Simples Pessoa JardineiroArquiteto Diretor de Informática Ortopedista

17 Herança ou Especialização Pode ser: Múltipla Pode ser: Múltipla Relógio Rádio Rádio-Relógio

18 Agregação ou Todo-Parte Composição de uma nova categoria como um agregado de categorias pré- existentes. Um objeto é composto por outros objetos. Pode ser: Por valor (casa – porta) Por referência (loja – porta) Composição de uma nova categoria como um agregado de categorias pré- existentes. Um objeto é composto por outros objetos. Pode ser: Por valor (casa – porta) Por referência (loja – porta)

19 Agregação ou Todo-Parte

20 Encapsulamento Objetivo: ocultar do mundo externo ao objeto os detalhes de implementação e restringir o acesso aos atributos e métodos. Vantagens: Segurança no acesso ao objeto Melhor consistência no estado interno, pois evita alteração incorreta de valores dos atributos Objetivo: ocultar do mundo externo ao objeto os detalhes de implementação e restringir o acesso aos atributos e métodos. Vantagens: Segurança no acesso ao objeto Melhor consistência no estado interno, pois evita alteração incorreta de valores dos atributos

21 Encapsulamento Avião Velocidade Altitude Obter Velocidade Obter Altitude Aumentar Velocidade

22 Polimorfismo Membros de diferentes classes podem responder a uma mesma mensagem. Polimorfismo Janela ( ) Janela ( 1 x 2, 2 ) Janela ( 1 x 2, 2, Azul )

23 Paradigma Paradigma é a filosofia adotada na construção de software: Lógico Funcional Procedimental Orientado a Objetos Paradigma é a filosofia adotada na construção de software: Lógico Funcional Procedimental Orientado a Objetos

24 Paradigma Procedimental Visão de modelo baseada em um modelo de entrada-processamento-saída Dados são considerados separadamente das funções Funções são ativas e têm comportamento Dados são repositórios passivos de informação afetados por funções Visão de modelo baseada em um modelo de entrada-processamento-saída Dados são considerados separadamente das funções Funções são ativas e têm comportamento Dados são repositórios passivos de informação afetados por funções

25 Paradigma Orientado a Objetos Sugere a diminuição da distância entre a modelagem computacional e o mundo real. Surgiu na tentativa de solucionar problemas existentes no desenvolvimento de softwares complexos e confiáveis com baixo custo de desenvolvimento e manutenção. Sugere a diminuição da distância entre a modelagem computacional e o mundo real. Surgiu na tentativa de solucionar problemas existentes no desenvolvimento de softwares complexos e confiáveis com baixo custo de desenvolvimento e manutenção.

26 Paradigma Orientado a Objetos Permite que objetos do mundo real sejam mapeados em Objetos no computador e pressupõe que o mundo é composto por objetos. Os sistemas são modelados como um número de objetos que se interagem. Permite que objetos do mundo real sejam mapeados em Objetos no computador e pressupõe que o mundo é composto por objetos. Os sistemas são modelados como um número de objetos que se interagem.

27 Paradigma Procedimental Processamento Salário do Pedro Salário da Maria Dependentes da Maria Adiantamento do João Férias do Antônio Prêmio da Helena Custo Total Calcular a folha de Pagamento

28 Paradigma Orientado a Objetos Fulano, quanto eu te devo? Custo total = Fulanos Calcular a folha de Pagamento

29 Paradigma Orientado a Objetos Para um sistema ser orientado a objetos deve ter pelo menos (Coad & Yourdon, 1990): Objetos Classes Herança Mensagens Para um sistema ser orientado a objetos deve ter pelo menos (Coad & Yourdon, 1990): Objetos Classes Herança Mensagens

30 Por que utilizar Orientação a Objetos? Alta reutilização de código Redução no tempo de manutenção Redução de complexidade através da melhoria do grau de abstração Aumento de qualidade e produtividade, pois oferece maiores facilidades ao desenvolvedor Aceitação comercial crescente Alta reutilização de código Redução no tempo de manutenção Redução de complexidade através da melhoria do grau de abstração Aumento de qualidade e produtividade, pois oferece maiores facilidades ao desenvolvedor Aceitação comercial crescente

31 Técnicas de Desenvolvimento de Sistemas Orientados a Objetos Técnicas de solução criativa de problemas Busca de outras experiências e soluções para problemas semelhantes Divisão e conquista Refinamentos sucessivos Diversidade Técnicas de solução criativa de problemas Busca de outras experiências e soluções para problemas semelhantes Divisão e conquista Refinamentos sucessivos Diversidade

32 Busca de outras experiências e soluções para problemas semelhantes Refinamento, composição e instanciação de objetos e classes existentes Busca de outras experiências e soluções para problemas semelhantes Refinamento, composição e instanciação de objetos e classes existentes Técnicas de Desenvolvimento de Sistemas Orientados a Objetos

33 Divisão e conquista Redução de um problema complexo em problemas menores Divisão em classes menores Divisão e conquista Redução de um problema complexo em problemas menores Divisão em classes menores Técnicas de Desenvolvimento de Sistemas Orientados a Objetos

34 Refinamentos sucessivos Desenvolvimento em versões Diversidade Não se compromete com a solução inicial Durante o desenvolvimento podem surgir novas informações que indiquem novas alternativas Refinamentos sucessivos Desenvolvimento em versões Diversidade Não se compromete com a solução inicial Durante o desenvolvimento podem surgir novas informações que indiquem novas alternativas Técnicas de Desenvolvimento de Sistemas Orientados a Objetos

35 Bibliografia Object-Oriented Methods: A Fundation James Martin & James J. Odell Prentice Hall, Análise Orientada a Objetos Peter Coad & Edward Yourdon Editora Campus, 1990 Notas de Aula Object-Oriented Methods: A Fundation James Martin & James J. Odell Prentice Hall, Análise Orientada a Objetos Peter Coad & Edward Yourdon Editora Campus, 1990 Notas de Aula


Carregar ppt "Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI."

Apresentações semelhantes


Anúncios Google