Baixe o app para aproveitar ainda mais
Prévia do material em texto
Computação OO I dará as noções básicas enquanto que OO II vai refinar o conhecimento aprendido e adaptá-las às necessidades de mercado. • Entender os princípios básicos da orientação a objetos Entender como esses conceitos são modelados na UML ○ Conhecer os principais conceitos e termos da orientação à objeto • Compreender as vantagens do uso da orientação a objeto nos projetos de software • Entender os princípios básicos da modelagem UML • Objetivos: Princípios básicos da orientação à objetos A orientação à objetos se sustenta sobre os quatro pilares acima. Cada um deles deve ser compreendido em essência. Abstração: Capacidade de enxergar objetos, pessoas ou situações a partir de uma determinada perspectiva. O programador deve saber criar modelos mentais para trabalhar com abstração. Está muito ligada ao conceito de domínio. Domínio é a área onde se posiciona uma coisa a ser analisada. Um mesmo objeto pode ser abstraído de maneiras diferentes de acordo com o domínio. Se uma pessoa, por exemplo, é vista do ponto de vista educacional (domínio educacional), deve-se considerar as disciplinas cursadas, notas etc. Se a mesma pessoa é vista do ponto de vista de saúde (domínio ambulatorial), serão necessárias informações vinculadas ao tipo sanguíneo, histórico de doenças e alergias, etc. Exemplo: Sistema de subestação de Ibiuna Aula 02 - Semana 03 segunda-feira, 10 de março de 2014 21:20 Página 1 de COM220 - Computação Orientada a Objetos I Encapsulamento: Esconde os detalhes da implementação. O usuário deve conhecer apenas as interfaces. Modularidade: Dividir algo complexo em partes mais simples e facilmente implementáveis. Compõe o ferramental necessário para um programa mais legível com uma melhor manutenção e melhor desempenho por meio da programação estruturada. Pode ser caracterizado da seguinte forma: Elemento separadamente endereçável do sistema, menor parte do sistema que realiza uma função completa independente de outras funções, conjunto de instruções de um programa que pode ser chamado por um nome, sendo ideal que para os outros módulos seja uma caixa preta. Hierarquia: Conceitos básicos de orientação à objeto Página 2 de COM220 - Computação Orientada a Objetos I Conceitos básicos de orientação à objeto Objeto: um objeto representa uma entidade: física, conceitual ou de software. Formalmente, um objeto é um conceito, abstração ou “coisa” com características e significado no domínio de uma aplicação. Representação: Retângulos com nomes grifados. Classe: • Propriedades (atributos) • Comportamento (operações) • Relacionamentos É uma descrição de um grupo de objetos que possuem características comuns em termos de: Um objeto é uma instância de uma classe • Destaca características principais • Omite características irrelevantes Uma classe é uma abstração, pois: Uma classe é uma estrutura que abstrai um conjunto de objetos com características similares. Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos. Em outros termos, uma classe descreve os serviços providos por seus objetos e quais informações eles podem armazenar. Classes não são diretamente suportadas em todas as linguagens, e são necessárias para que uma linguagem seja orientada a objetos. Classes são os elementos primordiais de um diagrama de classes. Exemplo: Representação gráfica: Retângulo compartimentalizado Página 3 de COM220 - Computação Orientada a Objetos I • Nome da classe • Estrutura (atributos) • Comportamento (operações) Compartimentos de uma classe: Atributo Operação São ações que podem ser realizadas com instâncias de uma classe. Interface (polimorfismo) Polimorfismo Habilidade de “esconder” diferentes implementações utilizando uma interface única. Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato). O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas). O polimorfismo é caracterizado quando duas ou mais classes distintas tem métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, Página 4 de COM220 - Computação Orientada a Objetos I nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto. Uma das formas de implementar o polimorfismo é através de uma classe abstrata, cujos métodos são declarados mas não são definidos, e através de classes que herdam os métodos desta classe abstrata. O que é uma interface • Suportam arquiteturas “plug-and-play” Interfaces formalizam o polimorfismo • Representação canônica • Representação icônica (lollypop) Possíveis representações: Componente Parte não trivial e substituível de um sistema que realiza uma função específica no contexto de uma arquitetura bem definida de software • Um trecho de código fonte componentizável • Um componente de run time • Um componente executável Um componente pode ser: Pacote • É um elemento de modelagem que pode conter outros elementos de modelagem É um mecanismo que permite agrupar elementos Sua principal função é organizar o modelo em desenvolvimento. É um “agrupador” que une e organiza um conjunto de classes, diagramas, arquivos ou mesmo pacotes em um sistema. Subsistema Página 5 de COM220 - Computação Orientada a Objetos I Subsistema • Utilizado para decompor um sistema complexo em partes quase independentes • Permitem visualizar um sistema de um ponto de vista mais panorâmico Parte de um sistema Exercício 1.Qual a diferença entre objeto e classe? 2.Discuta como os 4 princípios básicos da OO encontram-se embutidos nos conceitos básicos da OO? 3.O que é polimorfismo? Dê um exemplo de polimorfismo (diferente do que foi dado em aula, é claro!) • Use a representação compartimentalizada 4.Modele a classe Aluno. Procure dar a essa classe as características (atributos) e o comportamento (operações) adequadas a um aluno universitário. Página 6 de COM220 - Computação Orientada a Objetos I
Compartilhar