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

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


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

Apresentações semelhantes


Anúncios Google