Você está na página 1de 29

CONCEITOS

ORIENTAÇÃO A LG2A2

OBJETOS
Material de aula cedido pelo Prof. Antonio A.Palladino
LG2A2 – CONTEÚDO
PROGRAMÁTICO
Conceitos de Orientação a Objetos
Análise, Projeto e Programação Orientada a Objetos;
Procedural Estruturada vs. Orientação a Objetos;
Separação de interesses e modularização;
Objeto e Classe;
Estado e Comportamentos;
Pilares da Orientação a Objetos.
PARADIGMA

O paradigma da POO(Programação Orientada a Objetos) é um modelo de


análise, projeto e programação baseado na aproximação entre o mundo real e o
mundo virtual, através da criação e interação entre objetos, atributos, códigos,
métodos, entre outros.
PROGRAMAÇÃO DE
COMPUTADORES
Instruções para computadores realizar tarefas.
Linguagens de alto nível => linguagem de máquina

Que linguagem usar?


Qual paradigma?
 Programação estruturada
 Programação orientada a objetos
PROGRAMAÇÃO
ESTRUTURADA
A programação estruturada tem como principal foco as ações !
 Procedimentos e Funções
Fornece maior controle sobre o fluxo de execução de um programa
 Estruturas de sequência;
 Estruturas de decisão;
 Estruturas de repetição.
PROGRAMAÇÃO
ESTRUTURADA
As linguagens estruturadas são entendimento relativamente fácil
 Por isso são utilizadas em cursos introdutórios.

No entanto, são focadas em como uma tarefa deve ser feita


 E não em o que deve ser feito.

Mistura tratamento de dados e comportamento do programa.


A programação estruturada ainda é muito influente
 Para cada situação uma ferramenta.

Para problemas simples e diretos, ainda é a melhor solução.


PROGRAMAÇÃO ORIENTADA
A OBJETOS
Programação modular (LEGO)
Componentes reutilizáveis => objetos
Abordagem considera novos conceitos:
 Classes e objetos
 Encapsulamento
 Herança e polimorfismo

Maior produtividade (reuso, modificação, correção)


Engloba a programação estruturada
PROGRAMAÇÃO ORIENTADA
A OBJETOS (POO)
A Programação Orientada a Objetos (POO), é uma técnica de programação que usa
conceitos de Objetos e Classes como elementos centrais para representar e processar
dados usados nos programas. Foi criado para tentar aproximar o mundo real do mundo
virtual, simulando o mundo real dentro do computador.
Hoje, a maioria das linguagens de programação são orientadas a objetos e, apesar de
terem algumas diferenças na implementação, todas seguem os mesmos princípios e
conceitos. 
OBJETOS E CLASSES
Mundo real está repleto de objetos
Agrupamos objetos semelhantes em classes

Carro

Pessoa
CLASSE
Classe é o conceito principal da Programação Orientada a Objetos.
Uma classe é uma forma de definir um tipo de dado em uma linguagem orientada a
objeto.
Uma classe é um conjunto de características e comportamentos que
definem o conjunto de objetos pertencentes à essa classe.
Uma classe é formada por variáveis (atributos) e funções (métodos).
 Atributos – armazenar
 Métodos - executar

Quando uma Classe é definida podem ser criados diferentes objetos que utilizam a
mesma classe. 
OBJETO DE UMA CLASSE
Objeto é uma variável que representa ou tira uma cópia de uma Classe.
Os objetos representam entidades do mundo real, como aviões, pessoas, contas
correntes, etc., mas também podem representar outros conceitos, como gráficos
(círculos, quadrados, cones, esferas, etc.)
Um objeto possui características próprias (atributos) e executa determinadas ações
(métodos), sendo esses atributos e métodos provenientes da classe que origina o objeto.
CLASSE E OBJETO

https://www.devmedia.com.br/introducao-a-programacao-
orientada-a-objetos-em-java/26452

https://www.alura.com.br/artigos/poo-programacao-
orientada-a-objetos

https://www.devmedia.com.br/introducao-a-programacao-orientada-
a-objetos-em-java/26452
OBJETOS E CLASSES

EM PROGRAMAÇÃO ORIENTADA A OBJETOS

Classe Objeto

X
Concreto
Abstração
Molde Ocorrência real
Instância
INSTÂNCIA DE UMA CLASSE
Em programação orientada a objetos, chama-se instância de uma classe, um objeto cujo
comportamento e estado são definidos pela classe.
As instâncias de uma classe compartilham o mesmo conjunto de atributos, embora sejam diferentes
quanto ao conteúdo desses atributos.
Assim, em programação orientada a objetos, a palavra "instanciar" significa criar. Um objeto pode
variar de diversas maneiras. Cada variação realizada desse objeto é uma instância de sua classe. 
MEMBROS DE UMA CLASSE
Uma classe é composta por:

 Comportamentos ou  Métodos ou funções


operações
OU
 Características ou  Dados ou variáveis
atributos
(modelo) (implementação)
CLASSES DE OBJETOS
• Na UML uma classe é representada por um retângulo, podendo
possuir até três divisões armazenando nelas informações da classe:
• 1ª.divisão: Nome da classe
• 2ª.divisão: Atributos ou Propriedades
• 3ª.divisão: Métodos, Operações ou
Comportamentos da classe

• Algumas vezes a classe não é representada totalmente expandida


(2ª. e 3ª. divisões abertas) ou às vezes no caso de classes abstratas,
simplesmente não conter atributos e métodos:
CLASSES DE OBJETOS
Atributos ou Propriedades

• Representam as características de uma classe, ou seja suas


peculiaridades, nos atributos/propriedades serão registrados os
valores que diferenciam os objetos instanciados da classe;

• Os atributos são armazenados na


2ª.divisão de uma classe e contêm
três informações:
• visibilidade (privada-, protegida#,
pública+, pacote~);
• nome do atributo;
• tipo (inteiro, fração/decimal, texto);
CLASSES DE OBJETOS
Métodos, Operações ou Comportamentos

• Um método ou operação (termo utilizado na UML) representa uma atividade


(conjunto de operações) que um objeto de uma classe pode executar;
• Em termo de programação pode-se associar uma operação a uma função
desenvolvida na linguagem C, podendo portanto receber ou não parâmetros
e retornando ou não valores;
• Os métodos estão armazenados na
3ª.divisão de uma classe e contêm três
informações:
• visibilidade (privada-, protegida#,
pública+, pacote~);
• nome do método;
• retorno: void (sem retorno) ou um tipo
(inteiro, fração/decimal, texto);
CLASSES DE OBJETOS
Visibilidade de atributos e métodos
Indica o nível de acessibilidade de um atributo ou método, existindo quatro
modos de visibilidade: público, protegido, privado e pacote:
- privada: somente os objetos da classe detentora do atributo ou
método poderão enxergá-lo ou utilizá-lo;
# protegida: poderão enxergá-lo ou utilizá-lo, os objetos da classe
detentora do atributo ou método como também os objetos das
subclasses dessa classe;
+ pública: o atributo ou método pode ser utilizado por qualquer objeto;
~ pacote: o atributo ou método é visível por qualquer objeto dentro do
pacote;

Exemplo de visibilidade de atributo privada

Exemplo de visibilidade de método pública


REPRESENTAÇÃO DE UMA
SUBCLASSE EM UML
Classe Pessoa

com as subclasses
- Pessoa Física
- Pessoa Jurídica
ENCAPSULAMENTO
O que é?
 Uma das principais características da P. O. O.
 Envolve atributos (dados) e operações (funções) numa única estrutura
(objeto)
 Permite ocultação de informações (visibilidade)
 Comunicação por meio de uma interface pública
Mostrar horário
(horas/ minutos/ segundos)
 Ex.: Relógio Várias tecnologias possíveis para máquina interna
(encapsulamento)
Interface para ajuste horas/ minutos/ segundos
(operações públicas)

• Criamos classes para “clientes” (reuso)


Porque encapsular e ocultar? • Capacidade de usar sem conhecer detalhes internos
• Alterações na implementação não afetam cliente
• Garantia de acesso seguro aos dados
EXERCÍCIO 1 – DIAGRAMA DE
CLASSE UML
– Apresente uma representação no paradigma orientado a objeto para
conta corrente sabendo que sempre teremos seu:
- número (nro_conta, tipo inteiro);
- data de abertura (dt_abertura, tipo date);
- data de encerramento (dt_encerra, tipo date);
- situação da conta (sit, tipo int);
- senha (senha, tipo int);
- saldo (saldo, tipo double).

– As operações relacionadas à conta corrente são abrir-conta,


consultar_conta, validar_senha, consultar_saldo, depositar_valor,
sacar_valor, encerrar_conta.
DIAGRAMA DE CLASSES
HTTPS://CEPEIN.FEMANET.COM.BR/BDIGITAL/ARQTCCS/1311320419.PDF

Na UML, o diagrama de classes é umas das ferramentas mais utilizadas


e importante. Com o objetivo de definir as estruturas das classes do
sistema, este serve de apoio para a maioria dos demais diagramas. É
com o diagrama de classes que mostramos os atributos e métodos que
cada classe possui e ainda como as classes se relacionam e trocam
informações entre si. (Guedes, Gilleanes T. A. 2006).
DIAGRAMA
DE CLASSES -
HOTELARIA
DIAGRAMA
DE
CLASSES -
RESERVA
DIAGRAMA DE
CLASSES -
HÓSPEDE
DIAGRAMA DE
CLASSES -
APARTAMENTO
LINKS DE ORIENTAÇÃO A
OBJETOS
O que é programação orientada a Objetos (vídeo)
https://www.youtube.com/watch?v=KlIL63MeyMY&t=292s
Programação Orientada a Objetos (vídeo)
https://www.youtube.com/watch?v=QY0Kdg83orY
Introdução a Orientação a Objetos (texto – pag 35)
http://redeetec.mec.gov.br/images/stories/pdf/eixo_infor_comun/tec_inf/081112_pro
gr_obj.pdf
Conceitos de Orientação a Objetos (slides)
http://www.decom.ufop.br/marco/site_media/uploads/bcc221/01__aula_01.pdf
LINKS DE UML
Introdução ao UML
https://www.youtube.com/watch?
v=C3xYBT3o_5k&list=PLucm8g_ezqNqCRGHGHoacCo6N1bfN7hXZ
O que é um diagrama de classe:
https://www.youtube.com/watch?v=JQSsqMCVi1k&list=PLucm8g_ezqNqCRGHG
HoacCo6N1bfN7hXZ
Diagrama de classes – Relacionamentos
https://www.youtube.com/watch?
v=IJtQWLnHvcQ&list=PLucm8g_ezqNqCRGHGHoacCo6N1bfN7hXZ&index=3

Você também pode gostar