orientação à objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/fg/engenharia de...
TRANSCRIPT
![Page 1: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/1.jpg)
Orientação à Objetos
Aécio Costa
![Page 2: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/2.jpg)
Orientação à Objetos
O paradigma da orientação à objetos
![Page 3: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/3.jpg)
Orientação à ObjetosParadigma?
Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um
paradigma tem a ver com a forma pela qual esse sistema éentendido e construído.
A primeira abordagem usada para modelagem de sistemas desoftware foi o paradigma estruturado. Uso da técnica de decomposição funcional “divida sucessivamente um problema complexto em
subproblemas” Hoje em dia, praticamente suplantou o paradigma anterior, o
paradigma da orientação a objetos...
![Page 4: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/4.jpg)
Orientação à ObjetosO Paradigma da Orientação a Objetos
O paradigma da OO surgiu no fim dos anos 60. Alan Kay, um dos pais desse paradigma, formulou a chamada
analogia biológica. “Como seria um sistema de software que funcionasse como
um ser vivo?”
Alan Kay
![Page 5: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/5.jpg)
Orientação à ObjetosAnalogia Biológica
Cada “célula” interagiria com outras células através do envio de mensagens para realizar um objetivo comum.
Adicionalmente, cada célula se comportaria como uma unidade autônoma.
De uma forma mais geral, Kay pensou em como construir um sistema de software a partir de agentesautônomos que interagementre si.
![Page 6: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/6.jpg)
Orientação à ObjetosFundamentos da Orientação a Objetos
1. Qualquer coisa é um objeto.2. Objetos realizam tarefas através da requisição de
serviços a outros objetos.3. Cada objeto pertence a uma determinada classe.
Uma classe agrupa objetos similares.4. A classe é um repositório para comportamento
associado ao objeto.5. Classes são organizadas em hierarquias.
![Page 7: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/7.jpg)
Orientação à ObjetosPrincípios da Orientação a Objetos
Uma analogia...
PIZZARIA
![Page 8: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/8.jpg)
Orientação à Objetos
Orientação a Objetos
O paradigma da orientação a objetos visualiza umsistema de software como uma coleção de agentesinterconectados chamados objetos. Cada objeto é responsávelpor realizar tarefas específicas. É através da interação entreobjetos que uma tarefa computacional é realizada.
![Page 9: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/9.jpg)
Orientação à Objetos
Orientação a Objetos
Um sistema de software orientado a objetos consiste deobjetos em colaboração com o objetivo de realizar asfuncionalidades deste sistema. Cada objeto é responsável portarefas específicas. É através da cooperação entre objetos quea computação do sistema se desenvolve.
![Page 10: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/10.jpg)
Orientação à Objetos
Conceitos da Orientação a Objetos
Classes e objetos Mensagens Encapsulamento Polimorfismo Herança
![Page 11: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/11.jpg)
Orientação à ObjetosConceitos e Princípios da OO
Conceitos Classe Objeto Mensagem
Princípios Encapsulamento Polimorfismo Generalização (Herança) Composição
![Page 12: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/12.jpg)
Orientação à Objetos
Classes e objetos
O mundo real é formado de coisas.
Na terminologia de orientação a objetos, estas coisas domundo real são denominadas objetos.
![Page 13: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/13.jpg)
Orientação à Objetos
Classes e objetos
Seres humanos costumam agrupar os objetos para entendê-los.
A descrição de um grupo de objeto é denominada classe deobjetos, ou simplesmente de classe.
![Page 14: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/14.jpg)
Orientação à ObjetosO que é uma classe?
Uma classe é um molde para objetos. Diz-se que um objetoé uma instância de uma classe.
Uma classe é uma abstração das características relevantesde um grupo de coisas do mundo real. Na maioria das vezes, um grupo de objetos do mundo real é
muito complexo para que todas as suas características e comportamento sejam representados em uma classe.
![Page 15: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/15.jpg)
Orientação à Objetos
Exemplos de Classe
Cliente
Representante
Produto
![Page 16: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/16.jpg)
Orientação à ObjetosClasses e objetos
Importante: uma classe é uma abstração das característicasrelevantes de um grupo de coisas do mundo real.
![Page 17: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/17.jpg)
Orientação à ObjetosObjetos como abstrações
Uma abstração é uma representação das característicasrelevantes de um conceito do mundo real para umdeterminado problema.
![Page 18: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/18.jpg)
Orientação à Objetos
Classe X Objeto
![Page 19: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/19.jpg)
Orientação à Objetos Classes são definições estáticas, que possibilitam o
entendimento de um grupo de objetos. Objetos são abstrações de entidades que existem no mundo
real.
CUIDADO: estes dois termos muitas vezes são usadosindistintamente.
![Page 20: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/20.jpg)
Orientação à ObjetosMensagens
Para que um objeto realize alguma tarefa, deve haver um estímulo enviado a este objeto.
Pense em um objeto como uma entidade ativa que representa uma abstração de algo do mundo real Então faz sentido dizer que tal objeto pode responder a
estímulos a ele enviados Assim como faz sentido dizer que seres vivos reagem a
estímulos que eles recebem.
![Page 21: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/21.jpg)
Orientação à ObjetosMensagens
Independentemente da origem do estímulo, quando ele ocorre, diz-se que o objeto em questão está recebendo uma mensagem.
Uma mensagem é uma requisição enviada de um objeto a outro para que este último realize alguma operação.
![Page 22: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/22.jpg)
Orientação à ObjetosMensagens
Objetos de um sistema trocam mensagens isto significa que estes objetos estão enviando mensagens
uns aos outros com o objetivo de realizar alguma tarefa dentro do sistema no qual eles estão inseridos.
![Page 23: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/23.jpg)
Orientação à ObjetosMensagens
![Page 24: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/24.jpg)
Orientação à ObjetosAbstração
Uma abstração é qualquer modelo que inclui os aspectos relevantesde alguma coisa, ao mesmo tempo em que ignora os menosimportantes
O resultado de uma operação mental de abstração depende não tanto do fenômeno observado, mas do interesse do observador
![Page 25: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/25.jpg)
Orientação à ObjetosAbstração depende do observador
![Page 26: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/26.jpg)
Orientação à Objetos
![Page 27: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/27.jpg)
Orientação à Objetos
Quantas Colunas ??
![Page 28: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/28.jpg)
Orientação à Objetos
![Page 29: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/29.jpg)
Orientação à Objetos
Abstração na orientação a objetos
A orientação a objetos faz uso intenso de abstrações. Os princípios da orientação a objetos podem ser vistos
como aplicações do Princípio da Abstração. Princípios: Encapsulamento Polimorfirmo Herança
![Page 30: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/30.jpg)
Orientação à Objetos
Abstração na orientação a objetos
![Page 31: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/31.jpg)
Orientação à ObjetosEncapsulamento
Objetos possuem comportamento. O termo comportamento diz respeito a que operações são
realizadas por um objeto e também de que modo estasoperações são executadas.
De acordo com o encapsulamento, objetos devem “esconder”a sua complexidade...
Esse princípio aumenta qualidade, em termos de: Legibilidade Clareza Reuso
![Page 32: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/32.jpg)
Orientação à ObjetosEncapsulamento
![Page 33: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/33.jpg)
Orientação à ObjetosEncapsulamento
O encapsulamento é uma forma de restringir o acesso aocomportamento interno de um objeto. Um objeto que precise da colaboração de outro objeto para
realizar alguma tarefa simplesmente envia uma mensagema este último.
O método (maneira de fazer) que o objeto requisitado usapara realizar a tarefa não é conhecido dos objetosrequisitantes.
![Page 34: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/34.jpg)
Orientação à ObjetosEncapsulamento
Na terminologia da orientação a objetos, diz-se que umobjeto possui uma interface.
A interface de um objeto é o que ele conhece e o que elesabe fazer, sem descrever como o objeto conhece oufaz.
A interface de um objeto define os serviços que ele poderealizar e conseqüentemente as mensagens que elerecebe.
![Page 35: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/35.jpg)
Orientação à ObjetosEncapsulamento
Uma interface pode ter várias formas de implementação.
Mas, pelo Princípio do Encapsulamento, a implementação deum objeto requisitado não importa para um objetorequisitante.
![Page 36: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/36.jpg)
Orientação à ObjetosEncapsulamento
OBJETO
MEN
SAG
EM
MEN
SAGEM
INTERFACE
IMPLEMENTAÇÃO
![Page 37: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/37.jpg)
Orientação à ObjetosPolimorfismo
É a habilidade de objetos declasses diferentes responderema mesma mensagem dediferentes maneiras.
![Page 38: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/38.jpg)
Orientação à ObjetosHerança
A herança pode ser vista como um nível de abstração acima da encontrada entre classes e objetos.
Na herança, classes semelhantes são agrupadas em hierarquias. Cada nível de uma hierarquia pode ser visto como um nível
de abstração. Cada classe em um nível da hierarquia herda as
características das classes nos níveis acima.
![Page 39: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/39.jpg)
Orientação à ObjetosHerança
A herança facilita o compartilhamento de comportamento entre classes semelhantes.
As diferenças ou variações de uma classe em particular podem ser organizadas de forma mais clara
![Page 40: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/40.jpg)
Orientação à ObjetosHerança - Exemplo FIGURA
FIGURA GEOMÉTRICA LINHA
QUADRADO CÍRCULO
![Page 41: Orientação à Objetos - aeciocosta.com.braeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · Encapsulamento Polimorfismo ... O encapsulamento é uma forma](https://reader031.vdocuments.pub/reader031/viewer/2022020304/5be51f5c09d3f219598ddd5a/html5/thumbnails/41.jpg)
Orientação à Objetos
HIERARQUIA DE CLASSES DE CONTAS BANCÁRIAS
CONTA BANCÁRIA
CONTA CORRENTE
CONTA POUPANÇA
APLICAÇÃO CURTO PRAZO
APLICAÇÃO LONGO PRAZO
HIERARQUIA DE CLASSES DE CONTAS BANCÁRIAS