Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

PROGRAMAÇÃO ORIENTADA A
OBJETOS: POO
OBJETIVO
 Aproximar o mundo digital do mundo real.
2
COMO ERA?
3
QUEM CRIOU ?
4
Alan Kay
OBJETOS ?
5
DEFINIÇÃO: OBJETOS
 Um objeto é um elemento que representa, no
domínio da solução, alguma entidade (abstrata ou
concreta) do domínio de interesse do problema
sob análise.
6
CLASSES
 Uma classe é um gabarito para a definição de
objetos. Através da definição de uma classe,
descreve-se que propriedades — ou atributos — o
objeto terá
7
Pessoa
Id
nome
endereco
cidade
Apresentar()
Atributos
Métodos
MODIFICADORES DE ACESSO
 Os modificadores de acesso são padrões de
visibilidade de acessos às classes, atributos e
métodos. Esses modificadores são palavras-chaves
reservadas pelo Java, ou seja, palavras reservadas
não podem ser usadas como nome de métodos,
classes ou atributos.
8
TIPOS DE MODIFICADORES DE ACESSO
 Public: Uma declaração com o modificador public
pode ser acessada de qualquer lugar e por qualquer
entidade que possa visualizar a classe a que ela
pertence.
 Private: Os membros da classe definidos não podem
ser acessados ou usados por nenhuma outra classe.
Esse modificador não se aplica às classes, somente para
seus métodos e atributos. Esses atributos e métodos
também não podem ser visualizados pelas classes
herdadas.
 Protected: O modificador protected torna o membro
acessível às classes do mesmo pacote ou através de
herança, seus membros herdados não são acessíveis a
outras classes fora do pacote em que foram declarados.
 default (padrão): A classe e/ou seus membros são
acessíveis somente por classes do mesmo pacote, na sua
declaração não é definido nenhum tipo de modificador,
sendo este identificado pelo compilador.
9
ABSTRAÇÃO
 Faz-se uso deste conceito ao abstrair as coisas do
mundo real e pegar somente o que for relevante
para sua classe. Por exemplo, se eu quisesse fazer
uma aplicação para manipular e armazenar
dados de um carro para um estacionamento, eu
deveria pegar os dados relevantes dos carros-
clientes, como: Número da placa, cor, modelo,
ano.
10
ENCAPSULAMENTO
 Encapsulação é o princípio de projeto pelo qual
cada componente de um programa deve agregar
toda a informação relevante para sua
manipulação como uma unidade (uma cápsula).
Aliado ao conceito de ocultamento de informação,
é um poderoso mecanismo da programação
orientada a objetos.
11
INTERFACE
 A interface é um recurso muito utilizado em
Java, bem como na maioria das linguagens
orientadas a objeto, para “obrigar” a um
determinado grupo de classes a ter métodos ou
propriedades em comum para existir em um
determinado contexto, contudo os métodos podem
ser implementados em cada classe de uma
maneira diferente. Pode-se dizer, a grosso modo,
que uma interface é um contrato que quando
assumido por uma classe deve ser implementado.
12
HERANÇA
 Herança é o nome atribuído ao direito ou
condição de herdar, ganhar, obter ou conquistar
algo por via de sucessão; ou seja, transmitido de
alguém para alguém.
13
HERANÇA: ORIENTAÇÃO A OBJETOS
 Herança, em Java, nada mais é do que criar
classes a partir de outra já existente. As classes
“filhas” vão herdar as características de sua
superclasse.
 Herança é um mecanismo que permite que
características comuns a diversas classes sejam
fatoradas em uma classe base, ou superclasse. A
partir de uma classe base, outras classes podem
ser especificadas. Cada classe derivada ou
subclasse apresenta as características (estrutura
e métodos) da classe base e acrescenta a elas o
que for definido de particularidade para ela.
14
REPRESENTAÇÃO: HERANÇA
Pessoa
Id
nome
endereco
cidade
15
Pessoa 
Física
cpf
rg
Pessoa 
Jurídica
cnpj
ie
TIPOS DE HERANÇA
 Extensão: a subclasse estende a superclasse,
acrescentando novos membros (atributos e/ou métodos.
 Especificação: a superclasse especifica o que uma
subclasse deve oferecer, mas não implementa
nenhuma funcionalidade. Diz-se que apenas a
interface (conjunto de especificação dos métodos
públicos) da superclasse é herdada pela subclasse.
 Combinação de extensão e especificação: a
subclasse herda a interface e uma implementação
padrão métodos da superclasse. A subclasse pode
então redefinir métodos para especializar o
comportamento em relação ao que é oferecido pela
superclasse, ou ter que oferecer alguma
implementação para métodos que a superclasse tenha
declarado mas não implementado. Normalmente, este
tipo de relacionamento é denominado herança
polimórfica.
16
POLIMORFISMO
 Polimorfismo é o princípio pelo qual duas ou
mais classes derivadas de uma mesma
superclasse podem invocar métodos que têm a
mesma identificação (assinatura) mas
comportamentos distintos, especializados para
cada classe derivada, usando para tanto uma
referência a um objeto do tipo da superclasse.
Esse mecanismo é fundamental na programação
orientada a objetos, permitindo definir
funcionalidades que operem genericamente com
objetos, abstraindo-se de seus detalhes
particulares quando esses não forem necessários.
17
EXEMPLO
18
Pessoa
Id
nome
endereco
cidade
Apresentar(
)
Pessoa 
Física
cpf
rg
Apresentar()
Pessoa 
Jurídica
cnpj
ie
Apresentar()
“Olá eu sou um Humano”
“Olá eu sou uma Empresa”
OVERLOAD (SOBRECARGA)
 A sobrecarga de métodos consiste em você
declarar vários métodos em uma única classe ou
em classes descendentes, com o mesmo nome,
porém eles tem que ter assinaturas diferentes. A
assinatura do método é o escopo do método
identificado pelo seu retorno, pelo seu nome, bem
como o recebimento ou não de seus parâmetros
19
OVERRIDE (SOBRESCRITA)
 A sobrescrita somente é possível em classes
herdadas, isto porque este conceito significa o que
o próprio nome já diz, ou seja, substituir um
método da super classe na sub classe
sobrescrevendo-o (substituindo-o) o mesmo.
20
EXERCÍCIOS
1. Qual o principal objetivo da orientação a 
objetos?
2. Em POO, o que são objetos ?
3. Qual a função das Classes em POO? 
4. Qual o conceito de abstração ?
5. Para que serve o encapsulamento de 
informações ?
6. O que são interfaces ?
7. O que são as heranças em POO ?
8. Qual a diferença entre Overload e Override?
21
REVISÃO
 Orientação a objetos;
 Objetos;
 Classes;
 Modificadores de acesso, public, private, default e 
protected;
 Encapsulamento;
 Herança;
 Polimorfismo, sobrescrita e sobrecarga;
22
REFERÊNCIAS
 RICARTE, Ivan L. M. Programação orientada a
objetos: Uma abordagem com Java, 2001.
Disponível em:
http://www.dca.fee.unicamp.br/cursos/PooJava/Aul
as/poojava.pdf Acesso em: 21 mar. 2017.
23

Mais conteúdos dessa disciplina