Buscar

Conceitos de Orientação a Objetos parte 1

Prévia do material em texto

Conceitos de 
Orientação a Objetos
Prof. Alessandro Jatobá
Aula 1
2/22
Agenda
• Objetivos do curso
• Bibliografia
• Nivelamento
• Por que modelar?
• O paradigma OO
• Classes e objetos
• Princípios do paradigma OO
• Unified Modeling Language
• Exercícios
3/22
Objetivos do curso
• Desenvolver competências no paradigma da orientação a objetos
• Modelar sistemas a partir desse paradigma utilizando a linguagem UML
• Conhecer as visões e diagramas da UML
• Produzir código (Java) a partir da análise e design, utilizando ferramenta 
case (Astah)
4/22
Bibliografia recomendada
• Básica
• Princípios de Análise e Projeto de Sistemas com UML;Eduardo Bezerra
• Modelagem de Objetos Através da UML; José Davi Furlan
• Complementar
• Use a Cabeça! Análise e Projeto Orientado a Objetos; McLaughlin, Pollice
e West
Pós-graduação em Engenharia de Software com Java 
Enterprise Edition
5/22
O paradigma OO – Nivelando...
• O que é um objeto?
• Observe o cenário abaixo:
“João e Felipe tocam guitarra. João utiliza uma Telecaster,
enquanto Felipe prefere sua Les Paul. Felipe, por ter mais
experiência, faz acordes mais complexos.”
• Que objetos podem ser descritos a partir desse cenário?
6/22
Sistemas: Por que modelar?
• Gerenciar a complexidade
• Promover a comunicação entre os envolvidos
• Redução de custos (isso é possível????)
• Prever o comportamento do sistema
Enfim, para ajudar a criar “ótimo software”
7/22
O que é o “Ótimo Software”?
• Faz o que o cliente deseja
• Flexível
• Reutilizável e de fácil manutenção
“Long lasting software”
8/22
O paradigma OO
• Paradigma (definição de Thomas Kuhn):
“Realizações científicas que geram modelos que, por
períodos mais ou menos longos, orientam o
desenvolvimento posterior das pesquisas em busca da
solução para problemas.”
É a forma de abordar um problema!
9/22
O paradigma OO
• Como seria um software se ele funcionasse como um ser vivo?
• Interações entre células
• Células são “unidades autônomas”
Construir software a partir de agentes autônomos que interagem entre si
10/22
Princípios OO
• Qualquer coisa é um objeto
• Objetos realizam tarefas requisitando serviços a outros objetos
• Cada objeto pertence a uma determinada classe
• A classe é um repositório para o comportamento do objeto
• Classes se organizam em hierarquias
11/22
Voltando ao exemplo ….
“João e Felipe tocam guitarra. João utiliza uma Telecaster,
enquanto Felipe prefere sua Les Paul. Felipe, por ter mais
experiência, faz acordes mais complexos.”
Que objetos podem ser descritos?
12/22
Classes e Objetos
• O mundo real é feito de coisas
• Os seres humanos agrupam os objetos (num processo mental 
involuntário)
Pensem em um CARRO
• É mais fácil entender a IDÉIA “carro” do que entender todos os carros 
que existem!
Uma classe é uma descrição dos atributos e serviços comuns a um grupo 
de objetos, um molde a partir do qual objetos são construídos
13/22
Mensagens
• Os objetos não executam suas operações aleatoriamente
• Eles respondem a estímulos
• Quando esse estímulo ocorre, dizemos que o objeto está recebendo 
uma mensagem
14/22
Os princípios do paradigma OO
Orientação a Objetos
Abstração
Encapsulamento HerançaPolimorfismo
15/22
Os princípios do paradigma OO
• Os princípios do paradigma OO são, na verdade, a aplicação do princípio 
da Abstração
• Abstração é qualquer modelo que inclui os aspectos mais importantes, 
essenciais de alguma coisa
• Ao mesmo tempo, abstrair é ignorar os detalhes menos relevantes em 
prol de um modelo melhor aplicável
• Depende da perspectiva: o que é importante em um contexto pode não 
ser importante em outro
16/22
Os princípios do paradigma OO:
Encapsulamento
• Objetos possuem comportamento
• Comportamento: ações realizadas por um objeto e o modo pelo qual 
essas ações são executadas
Encapsular é RESTRINGIR o acesso ao comportamento interno de um 
objeto
17/22
Os princípios do paradigma OO:
Encapsulamento
• O objeto requisitante precisa conhecer as tarefas que o outro objeto 
realiza
• Isso é definido no que chamamos de Interface
• Uma interface pode ter diversas implementações
• Ressaltando: a implementação de um objeto requisitado não importa 
para um objeto requisitante
18/22
Os princípios do paradigma OO:
Encapsulamento
Guitarra
Interfac
e
Mensage
m
Mensage
m
19/22
Os princípios do paradigma OO: 
Polimorfismo
• É a capacidade de abstrair várias implementações diferentes em uma 
única interface
public class Telecaster implements Guitar{
public void wheep(){
//toca um som mais grave
...
// ***************************
}
}
public class LesPaul implements Guitar{
public void wheep(){
//toca um som mais encorpado
….
// *********************************
}
}
20/22
Os princípios do paradigma OO: 
Herança
• Também é uma forma de abstração
• É um nível de abstração acima do encontrado entre classes e objetos
• É o agrupamento de classes semelhantes em hierarquias
• Cada classe em um nível da hierarquia herda as características das 
classes dos níveis superiores
• Facilita o compartilhamento do comportamento
21/22
UML
• Unified Modeling Language
• Criada por Grady Booch, James Rumbaugh e Ivar Jacobson
• Aprovada pela OMG (Object Management Group) em 1997
• A mais popular notação para modelagem OO
• É uma linguagem visual, cujos elementos são estereótipos gráficos
• Cada elemento possui uma sintaxe e uma semântica
• Independe tanto de linguagem de programação quanto de processo 
de software
• A especificação completa da UML pode ser obtida gratuitamente no 
site da OMG (http://www.omg.org)
22/22
Exercícios

Continue navegando