Buscar

COM220 - Aula 02 - Semana 03

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

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

Outros materiais