Baixe o app para aproveitar ainda mais
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
Compartilhar