Você está na página 1de 46

Centro Federal de Educação Tecnológica de Minas Gerais

Departamento de Computação

Prof. Glender Brás


glender@cefetmg.br
Programação Orientada a Objetos
 A partir de agora vamos enxergar o mundo com uma
coleção de objetos que interagem entre si.

 Todo objeto possui suas características próprias e


apresenta determinado comportamento.

 Todo objeto pertence à determinada classe.

 As classes representam conceitos do mundo real.

2
Objetos que interagem?

3
Objetos que interagem?

4
Objetos que interagem?

Nosso software deve ser visto como uma representação do mundo


real, dos problemas que estamos tentando resolver e/ou dos
processos que estamos tentando representar. 5
Programação Orientada a Objetos
Paradigma de programação que usa tipos de dados
personalizados, permitindo construir novos tipos de dados
conforme nossa necessidade.

Método de implementação em que os programas são


organizados como uma cooperação entre objetos, em que
cada objeto representa uma instância de alguma classe.

Padrão de desenvolvimento que permite organizar o mundo


real como uma coleção de objetos com características e
comportamentos próprios, que se relacionam entre si.

6
Programação Orientada a Objetos

 Quem define as características e comportamentos de um


objeto é a classe.

 Para que uma classe seja utilizada e que as ações sejam


realizadas é necessário criar objetos que pertençam à
essas classes.

7
Programação Orientada a Objetos

8
Programação Orientada a Objetos

9
Programação Orientada a Objetos
 A classe fornece o modelo em que serão criados os
objetos.

10
Vantagens
 A modelagem dos programas se aproximam mais do
mundo real e das relações entre as entidades do mundo
real que conhecemos.

 A programação torna-se mais intuitiva

 Modularização - Código dividido em módulos menores,


o que facilita o entendimento, a usabilidade, a
manutenção e a reutilização de código.

11
Cuidados com a POO
 Se o programador não tiver domínio dos conceitos de OO,
o código pode ficar confuso.

 Um programa orientado a objetos normalmente é mais


lento e pesado que programas estruturados

12
Programação x Programação
Estruturada Orientada a
Objetos
 Passos sequenciais  Traz objetos do mundo
real para fazer parte do
código
 Divide o Algoritmo
basicamente em 3 estruturas:
 O programa se baseia na
sequência, decisão e interação entre estes
repetição objetos.

13
Pilares da POO

14
Abstração
15
Abstração

Modelo Modelo
Real Computacional

16
Abstração

Modelo Modelo
Abstração Computacional
Real

17
Abstração
Processo de representação de uma entidade do mundo
real na forma de idéias (no nosso caso, em forma de
entidades computacionais).

Modelo Modelo
Abstração
Real Computacional

18
Abstração
Processo de representação de uma entidade do mundo
real na forma de idéias (no nosso caso, em forma de
entidades computacionais).

Modelo Modelo
Abstração
Real Computacional

É necessário selecionar aspectos específicos de um


problema a ser analisado, deixando de lado outros
aspectos.
19
Abstração
Pessoa

20
Abstração
Pessoa
-Olhos
-Pés
-Boca
-Cabelo
-CPF
-RG
-Endereço
-Naturalidade
-Idioma
-Cor
-Tipo Sanguíneo
-Altura
-Peso
21
Abstração Todas essas características
Pessoa são importantes?
-Olhos
-Pés
-Boca
-Cabelo
-CPF
-RG
-Endereço
-Naturalidade
-Idioma
-Cor
-Tipo Sanguíneo
-Altura
-Peso
22
Abstração Todas essas características
Pessoa são importantes?
-Olhos
-Pés Depende!!
-Boca
-Cabelo
-CPF
-RG
-Endereço
-Naturalidade
-Idioma
-Cor
-Tipo Sanguíneo
-Altura
-Peso
23
Abstração Todas essas características
Pessoa são importantes?
-Olhos
-Pés Depende!!
-Boca
-Cabelo
-CPF O que estamos modelando?
-RG
-Endereço
-Naturalidade
-Idioma
-Cor
-Tipo Sanguíneo
-Altura
-Peso
24
Abstração Todas essas características
Pessoa são importantes?
-Olhos
-Pés Depende!!
-Boca
-Cabelo
-CPF O que estamos modelando?
-RG
-Endereço ➢Sistema
-Naturalidade acadêmico ou
-Idioma empresarial
-Cor
-Tipo Sanguíneo
-Altura
-Peso
25
Abstração Todas essas características
Pessoa são importantes?
-Olhos
-Pés Depende!!
-Boca
-Cabelo
-CPF O que estamos modelando?
-RG
-Endereço ➢Sistema ➢Sistema
-Naturalidade acadêmico ou médico
-Idioma empresarial
-Cor
-Tipo Sanguíneo
-Altura
-Peso
26
Abstração Todas essas características
Pessoa são importantes?
-Olhos
-Pés Depende!!
-Boca
-Cabelo
-CPF O que estamos modelando?
-RG
-Endereço ➢Sistema ➢Sistema
-Naturalidade acadêmico ou médico
-Idioma empresarial
-Cor
-Tipo Sanguíneo ➢Sistema de reconhecimento de
-Altura imagens
-Peso
27
Abstração

➢Modelos são representações simplificadas de


entidades do mundo real
28
Abstração
Processo que consiste em selecionar aspectos específicos
de um problema a ser analisado, deixando de lado outros
aspectos menos relevantes.

Representação concreta de uma entidade do mundo real


na forma de idéias para construção de um modelo
computacional

Processo de modelagem computacional de um problema


real

29
Classe
Estruturas que definem características (atributos) e
comportamento (métodos) de entidades do mundo real

Tipo abstrato (personalizado) de dados utilizado como um


“molde” para a criação de objetos.

Representa uma ideia ou conceito do mundo real e


classifica objetos que tenham propriedades similares.

30
Classe

31
Objeto
É uma instância (elemento) de uma classe.

Armazena os estados através dos atributos e executa as


ações da classe através dos métodos.

Representam entidades do mundo real: veículos, pessoas,


animais, etc.

Pode representar qualquer coisa tangível: departamentos,


cursos, etc.
32
Objeto

33
Atributos
 São as variáveis internas da classe (variáveis de instância)

 Representam as características inerentes aos objetos que


serão criados

 Armazenam os dados do objeto

 Devem possuir um tipo: int, double, char, String,


boolean, etc.

 Definem o estado do objeto.


 O estado é o conjunto de valores dos atributos dos objeto
34
Métodos
 São as funções contidas na classe

 Definem o comportamento dos objetos

 Podem ou não retornar um valor

 Podem ou não conter argumentos (receber parâmetros)

 Também possuem um tipo, que será o tipo de dado que ele


retorna. Métodos que não possuem retorno são do tipo
void
35
Métodos

36
Métodos

Tipo de retorno + nome do


método + argumentos =
Assinatura do método

37
Resumindo...
 Os atributos representam os dados com que nosso sistema
trabalhará

 Os métodos implementam as funcionalidades do sistema

38
Métodos
 Métodos pode ser:
 Com ou sem parâmetro
 Com ou sem retorno

39
Métodos
 Métodos pode ser:
 Com ou sem parâmetro
 Com ou sem retorno Achou que não ia usar
os conceitos de PC1??

40
Métodos
 Métodos pode ser:
 Com ou sem parâmetro
 Com ou sem retorno Achou que não ia usar
os conceitos de PC1??

Funciona exatamente igual


as fuñções em C/C++
41
Métodos sem retorno
 Métodos sem retorno são do tipo void

Com parâmetro

Sem parâmetro

42
Métodos com retorno
 Métodos com retorno são do tipo do dado que retornam

Com parâmetro

Sem parâmetro

43
Métodos
 Métodos podem ser sobrecarregados:
 Dois ou métodos com o mesmo nome, mas parâmetros
diferentes

A diferença pode
ser no tipo ou na
quantidade de
parâmetros

ATENÇÃO!!
Um método SEMPRE fará parte de uma classe
44
Exemplo

45
Recapitulando

46

Você também pode gostar