1. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Aula 08 – Fundamentos
Programação Orientada à Objetos
Análise e Projeto de Sistemas
francielamorim@hotmail.com
2. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Sumário
• Características da Orientação à Objetos
✔
Polimorfismo
✔
Herança
✔
Encapsulamento
✔
Abstração
• Classes e Objetos
• Notação de Classes
3. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Introdução
• O desenvolvimento de software é extremamente amplo. Nesse
mercado, existem diversas linguagens de programação, que
seguem diferentes paradigmas.
• Um desses paradigmas é a Orientação a Objetos, que
atualmente é o mais difundido entre todos. Isso acontece
porque se trata de um padrão que tem evoluído muito,
principalmente em questões voltadas para segurança e
reaproveitamento de código, o que é muito importante no
desenvolvimento de qualquer aplicação moderna.
4. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Introdução
• A Programação Orientada a Objetos (POO) diz respeito a um
padrão de desenvolvimento que é seguido por muitas
linguagens, como C# e Java. Esse padrão se baseia em
quatro pilares que veremos ao longo da nossa aula. Além
disso, a POO possui diversas vantagens em sua utilização,
que também serão vistas e explicadas.
6. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Polimorfismo
• Significa “várias formas” ou
multiforma. Pode-se entender este
processo como a habilidade de uma
classe adquirir várias formas em
vários objetos, ou, de se comportar
de maneira diferente dependendo de
em que objeto ela atua.
7. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Herança
● Uma das características mais
importantes da Orientação à Objetos,
devido ao fato de permitir o
reaproveitamento de atributos e de
métodos.
● Trabalha com os conceitos de
superclasses e subclasses , alem das
Especializações.
9. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Encapsulamento
• É a característica da OO capaz de ocultar partes (dados e
detalhes) de implementação interna de classes do mundo
exterior.
• Na imagem abaixo, podemos ver que um objeto que
possui a característica de encapsulamento fica protegido
por uma cápsula. Essa cápsula, que chamamos de
interface, serve para ocultar e proteger de outros objetos,
os detalhes de implementação daquele objeto.
10. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Abstração
• É utilizada para a definição de entidades do mundo real. Sendo
onde são criadas as classes. Essas entidades são consideradas
tudo que é real, tendo como consideração as suas características
e ações. São três pontos que devem ser levados em
consideração nessa abstração: Identidade, Propriedades e
Métodos
13. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Classes e Objetos
●
O mundo real é formado por coisas, na terminologia de
orientação à objetos essas coisas do mundo real são
chamadas de objetos.
✔
Exemplo: um Cliente, um Pedido, um Fornecedor.
●
Seres humanos costumam agrupar os objetos, essa idéia de
agrupar é chamada de Classes de Objetos ou classe.
14. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Classes e Objetos
● Uma classe representa uma categoria, e os objetos são os
membros ou exemplos dessa categoria.
●
Exemplo:
15. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Classes e Objetos
● Obs.: É importante notar que uma classe é uma abstração
das características de um grupo de um mundo real. Para a
modelagem de um sistema somente um subconjunto de
características pode ser relevante.
16. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Notação de uma Classes
● Na UML uma classe é representada por um retângulo que
pode ter até 3 divisões
17. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Elementos
● <Nome da Classe>:descrição ou nome da
classe;
–
Devem receber nomes de acordo com o
vocabulário do domínio do problema.
–
É comum adotar um padrão para nomeá-
las
Ex: todos os nomes de classes serão substantivos
singulares com a primeira letra maiúscula
18. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Elementos
●
<Atributos>: Parte que armazena as propriedades e
seus tipos de dados;
●
Representam o conjunto de características (estado)
dos objetos daquela classe;
●
O tipo do atributo pode ser escrito com dois pontos
após seu nome (dependendo do nível de
abstração)
●
Exemplo: Nome: char [30], Preço: Inteiro
19. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Elementos
●
<Métodos, Operações ou Comportamentos>:
Representam o conjunto de operações
(comportamento) que a classe fornece
●
Os parâmetros dos métodos podem ser
representados nos diagramas entre
parênteses após seu nome
●
O valor de retorno pode ser apresentado após
dois pontos
●
Exemplo: Saldo(int numconta): float,
RetornaNome(int codmatricula): char[30]
21. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Visibilidade
●
É utilizada para indicar o nível de acessibilidade de um
determinado atributo ou método.
- privado: visível somente dentro da própria classe
#protegido: visível para classes do mesmo pacote e subclasses
+ público: visível em qualquer classe de qualquer pacote
Exemplo:
# estado() : boolean
+ liga() : void
22. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exemplo
Nome da Classe Atributos
Métodos
Visibilidade
23. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício
• 01:Defina uma classe para representar, uma loja que vende roupas
onde, os clientes da loja são cadastrados pelo nome e cada roupa
possui um código de barras, um tamanho e o número de exemplares
que a loja possui daquela roupa.
24. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício
• 01:Defina uma classe para representar, uma loja que vende roupas
onde, os clientes da loja são cadastrados pelo nome e cada roupa
possui um código de barras, um tamanho e o número de exemplares
que a loja possui daquela roupa.
25. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício
• 02:Defina classes para as figuras abaixo:
26. Técnico em Informática/2017 - Prof: Franciel Amorim
08 – Fundamentos da POO
Exercício
• Crie classes que modelem as seguintes situações. Sugira
valores para a visibilidade, os métodos e os atributos:
–
Em um sistema de uma loja veterinária, cada animal tratado deve
ter armazenadas suas informações de nome, sexo, idade e
espécie. O animal pode iniciar ou finalizar um tratamento;
–
Cada dono de animal, deve ter seu nome, endereço e telefone
que possui armazenados. O dono de animal pode marcar uma
consulta ou tratamento e pagá-los;
–
Os veterinários devem ter seu nome, telefone, endereço e
número do Conselho Veterinário. Cada um pode efetuar uma
consulta ou efetuar um tratamento.