Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLorena Cal Alterado mais de 10 anos atrás
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
3
Conceitos de Orientação a Objetos
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
5
Objeto CASA CACHORRO
6
Objeto Objeto = Atributos + Métodos Encapsulamento
7
Objeto Objeto tem atributos ... Carro tem ... - nº de portas = 2
- cor = vermelho - fabricante = Volks - ano = 1995 - placa = XYZ-0102 Atributos -> representam um conjunto de informações, ou seja, elementos de dados que caracterizam o objeto São variáveis que definem o estado de um objeto, ou seja, são entidades que caracterizam os objetos Cada objeto possui seu próprio conjunto de atributos
8
Objeto Objeto tem métodos ... 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.
10
Classe Objeto 1 Objeto 2 Classe Automovel numeroPortas cor fabricante
ano placa Objeto 2
11
Classe Classe Pessoa classe Pessoa nome idade altura peso objeto Maria
objeto Pedro Classe Pessoa nome idade altura peso
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.
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.
14
Abstração “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.
16
Herança ou Especialização
Pode ser: Simples Pessoa Jardineiro Arquiteto Diretor de Informática Ortopedista
17
Herança ou Especialização
Relógio Rádio Rádio-Relógio Pode ser: Múltipla
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)
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
21
Encapsulamento Avião Obter Altitude Obter Velocidade Aumentar
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
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
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.
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.
27
Paradigma Procedimental
Calcular a folha de Pagamento Dependentes da Maria Férias do Antônio Adiantamento do João Salário da Maria Salário do Pedro Prêmio da Helena Processamento Custo Total
28
Paradigma Orientado a Objetos
Calcular a folha de Pagamento “Fulano, quanto eu te devo?” Custo total = Fulanos
29
Paradigma Orientado a Objetos
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
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
32
Técnicas de Desenvolvimento de Sistemas Orientados a Objetos
Busca de outras experiências e soluções para problemas semelhantes Refinamento, composição e instanciação de objetos e classes existentes
33
Técnicas de Desenvolvimento de Sistemas Orientados a Objetos
Divisão e conquista Redução de um problema complexo em problemas menores Divisão em classes menores
34
Técnicas de Desenvolvimento de Sistemas Orientados a Objetos
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
35
Bibliografia Object-Oriented Methods: A Fundation
James Martin & James J. Odell Prentice Hall, 1995. Análise Orientada a Objetos Peter Coad & Edward Yourdon Editora Campus, 1990 Notas de Aula
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.