Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

Prévia do material em texto

PROGRAMAÇÃO 
ORIENTADO A OBJETOS
PROF: LECIO
POO
O QUE É POO?
▪ É um paradigma de análise, projeto e programação de sistemas de software 
baseado na composição e interação entre diversas unidades de software 
chamadas de objetos.
Porque programar orientado a objetos
▪ Foi criada para tentar aproximar o mundo real e o mundo virtual: a ideia 
fundamental é tentar simular o mundo real dentro do computador.
▪ O programador é responsável por moldar o mundo dos objetos, e definir como os 
objetos devem interagir entre si. 
▪ Os objetos "conversam" uns com os outros através do envio de mensagens, e o 
papel principal do programador é definir quais serão as mensagens que cada 
objeto pode receber, e também qual a ação que o objeto deve realizar ao receber 
cada mensagem.
Quem Criou?
▪ O termo Programação Orientada a 
Objetos (POO) foi criado por Alan 
Kay, autor da linguagem de 
programação Smalltalk.
linguagens orientadas a objetos
▪ Java
▪ C#
▪ Object Pascal (Delphi)
▪ Ruby
▪ Python
▪ PHP
▪ Javascript
▪ Etc...
Qual o objetivo da Orientação Objetos?
▪ Tornar a programação orientação mais natural, ou seja, mais simples.
Quais as principais vantagens?
▪ Confiabilidade
▪ O isolamento entre as partes gera software seguro.ao alterar uma parte, nenhuma outra 
é afetada.
▪ Oportuno
▪ Ao dividir tudo em partes, varias delas podem ser desenvolvidas em paralelo.
▪ Manutenção
▪ Atualizar um software é mais fácil. Uma pequena modificação vai beneficiar todas as 
partes que usarem o objeto.
Quais as principais vantagens?
▪ Extensível
▪ O software não é estático. Ele deve crescer para permanecer util.
▪ Reutilizável
▪ Podemos usar objetos de um sistema que criamos em outro sistema futuro.
▪ Natural
▪ Mais fácil de entender.
▪ Você se preocupa mais na funcionalidade do que nos detalhes de implementação. 
CLASSES E OBJETOS
PROGRAMAÇÃO ORIENTADO A OBJETOS
CLASSES
O que é uma Classe ?
▪ As classes de programação são projetos de um objeto, 
aonde têm características e comportamentos, ou seja, 
permite armazenar propriedades e métodos dentro dela. 
▪ Uma classe é molde, um modelo.
Características das classes:
▪ Toda classe possui um nome.
▪ Possuem visibilidade, exemplo: 
▪ Public, Private, Protected.
▪ Possuem membros como: 
▪ Características e Ações.
Declaração de uma classe:
public class Teste {
//ATRIBUTOS
//MÉTODOS 
}
O que são atributos
▪ Os atributos são as propriedades de um objeto, também 
são conhecidos como variáveis.
▪ Essas propriedades definem o estado de um objeto, 
fazendo com que esses valores possam sofrer 
alterações.
O que são métodos
▪ Os métodos são ações ou procedimentos, onde podem 
interagir e se comunicarem com outros objetos.
Declaração de uma classe:
public class Caes { 
String nome; 
int peso; 
String corOlhos; 
int quantPatas; 
public void andar() { 
//MÉTODO ANDAR } 
public void comer() { 
//MÉTODO COMER } 
public void dormir() {
//MÉTODO DORMIR } 
}
ATRIBUTOS
METODOS
Classe - Exemplo
OBJETO
O que são Objetos?
▪ Coisa material ou abstrata que pode ser percebida pelos 
sentidos e descrita por meio das suas características, 
comportamentos e estado atual.
▪ Neles é permitido instanciar objetos da classe para 
inicializar os atributos e invocar os métodos.
Objeto - Exemplo
É uma instancia da Classe.
Como deve ser criado um objeto?
▪ Carro c1 = new Carro(); 
▪c1.nome = “Andre”; // objeto c1 recebendo o valor andre pelo 
atributo nome.
▪c1.exibirSalario(); // objeto c1 chamando o método 
exibirSalario().
Conclusão: Classes e Objetos
Classe
Objeto 1
Atributos Métodos
Objeto 2
Atributos Métodos
Objeto 3
Atributos Métodos
Conclusão: Classes e Objetos
▪ A parir de uma classe eu posso ter vários objetos.
▪ A classe informa a cada objeto suas 
características (atributos) e suas ações (métodos).
Explicação Ilustrada
Exemplo: Atributos (Características)
Métodos (Ações)
Classes e Objetos
Sobre OOP
▪ Todos os programas Java possuem quatro 
elementos básicos:
▪Pacotes.
▪Classes.
▪Métodos.
▪Atributos.
MÉTODO CONSTRUTOR
Método Construtor
▪ São métodos que são executados automaticamente quando você cria o 
objeto.
▪ Quando você cria um objeto eu posso precisar que alguma coisa aconteça.
▪ Quando usamos a palavra chave new, estamos construindo um objeto. 
Sempre quando o new é chamado, executa o construtor da classe. 
▪ O construtor da classe é um bloco declarado com o mesmo nome que a 
classe.
Método Construtor
▪ O método construtor é desenvolvido da mesma forma que 
uma função, a única diferença é que ele tem o mesmo nome 
da classe.
▪ Todas as classes devem possuir pelo menos um construtor.
▪ Sempre que criamos uma classe, Java automaticamente 
vincula um método construtor padrão interno com o mesmo
nome da classe, mas sem inicializar nenhum atributo.
Método Construtor Default
▪ Quando você não declara nenhum construtor na sua classe, o 
Java cria um para você. 
▪ Esse construtor é o construtor default, ele não recebe nenhum 
argumento e o corpo dele é vazio.
▪ A partir do momento que você declara um construtor, o 
construtor default não é mais fornecido.
Método Construtor
▪ Exemplos:
▪ Toda vez que eu criar uma pessoa, fazer ela chorar.
▪ Toda vez que eu criar um conta no banco vou definir o 
saldo como zero.
▪ Toda vez que eu criar um chip eu vou habilitar o numero 
deste chip.
▪ Logo que abrir a interface, apresente a tela de ajuda.
Declaração Método Construtor
Public class TV { 
int tamanho; 
int canal; 
boolean ligada; 
Public TV() {
tamanho=21; 
canal=0;
ligada=false;
} 
}
Definindo o Método Construtor
TIPOS DE METODOS
O que são métodos?
▪ são que um bloco de códigos que podem ser acessados a qualquer 
momento e em qualquer lugar de nossos programas.
A utilidade dos métodos
▪ Organização:
▪ os programas em Java ficariam enormes, bagunçados e pior: teríamos que repetir um 
mesmo trecho de código inúmeras vezes.
▪ Reutilização:
▪ escrevemos um trecho de código uma vez (que são os ditos cujos métodos) e podemos 
acessá-los várias vezes.
Métodos sem Retorno
▪ Indica que o método não tem retorno.
▪ Usa a palavra reservada void.
Exemplo:
public void exibeSaldo() { 
System.out.println(cliente + “ seu saldo é “ + saldo);
}
Métodos com Retorno
▪ Esses métodos que não possuem a palavra-chave void incorporada na 
declaração, mas sim um tipo de dados, apresentam em seu corpo a palavra 
reservada return, que informa que o método terá que retornar o mesmo tipo de 
dados com o qual foi declarado.
Exemplo:
public String retornaNome() { 
return nome; 
}
Pilares da Orientação a 
Objetos
Pilares da Orientação a Objetos
O que é Abstração?
▪ É a habilidade de concentrar nos aspectos essenciais de um contexto 
qualquer, ignorando características menos importantes ou acidentais.
O que é Encapsulamento?
▪ Separar o programa em partes, o mais isolado possível. A idéia é tornar o 
software mais flexível, fácil de modificar e de criar novas implementações.
▪ Serve para controlar o acesso aos atributos e métodos de uma classe.
Herança
▪ Permite criar novas classes a partir de classes já existentes, aproveitando-se das 
características existentes na classe a ser estendida.
Polimorfismo
▪ Permite ao desenvolvedor usar o mesmo elemento de formas diferentes.
▪ Polimorfismo denota uma situação na qual um objeto pode se comportar de 
maneiras diferentes ao receber uma mensagem.
ENCAPSULAMENTO
Diagrama de Classes
Modificadores de Visibilidade
▪ Indicam o nível de acesso aos componentes 
internos de uma classe.
+ public
- private
# protected
Exemplo - Visibilidade no Diagrama de Classes
Objeto Controle Remoto
Você que é dono do controle remoto, 
Você tem acesso a tudo?
Será que algumas partes
Tem que ser protegidas 
De você?
O que é encapsulamento?
▪ É a técnica que faz com que detalhes internos do funcionamento dos métodos de 
uma classepermaneçam ocultos para os objetos.
▪ Por conta dessa técnica, o conhecimento a respeito da implementação interna da 
classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a 
ser responsabilidade dos métodos internos da classe.
▪ Encapsulamento vem de encapsular, que em programação orientada a objetos 
significa juntar o programa em partes, o mais isoladas possível. 
Vantagens do Encapsulamento
▪ Reutilização – Uma vez que o componente é independente, ele pode ser 
utilizado em diferentes programas com facilidade.
▪ Divisão de responsabilidades – Cada objeto faz apenas o que lhe é devido, 
não assumindo funções extras.
▪ Facilidade de modificação – Uma vez que o mundo exterior não conhece a 
implementação do componente, esta pode ser alterada sem problemas.
▪ Ausência de efeitos colaterais – Uma vez que o componente não depende de 
partes do seu programa para funcionar, não há risco dele modificar o 
funcionamento do programa. 
Sobre o Encapsulamento
▪ Em um processo de encapsulamento os atributos das classes são do tipo 
private. 
▪ Para acessar esses tipos de modificadores, é necessário criar métodos setters
e getters.
Metodos set e get
Metodos get e set
▪ Métodos get
▪ São métodos que vão retornar alguma informação.
▪ Métodos set
▪ São métodos que servirão para atribuir valores.
HERANÇA
Herança
▪ É um mecanismo da Orientação a Objeto que permite criar novas classes a 
partir de classes já existentes, aproveitando-se das características existentes 
na classe a ser estendida.
▪ A ideia é reutilizar o código de uma determinada classe em outras classes.
Exemplo
Superclasse Funcionário
Subclasse Gerente
A classe “Gerente” está herdando 
da classe Funcionario através da 
palavra reservada extends.
Classe Abstrata
▪ Não pode ser instanciada( não pode criar o objeto desta classe), só pode servir 
como classe mãe(superclasse).
Método Abstrato
▪ Declarado, mas não implementado na classe mãe.
Classe Final
▪ Não pode ser herdada por outra classe.
▪ É uma classe que não tem filhos.
Método Final
▪ Não pode ser sobrescrito pela suas sub-classes.
▪ Obrigatoriamente herdado.
POLIMORFISMO
O que é polimorfismo?
▪ Permite que um mesmo nome represente 
vários comportamentos diferentes.
Assinatura de Método
▪ Quando o método tem o mesmo tipo e quantidade de parâmetros.
Public double media(double n1, double n2){
}
Public double media(double m1, double m1) {
}
TIPOS DE POLIMORFISMO
▪ SOBREPOSIÇÃO
▪ Assinaturas de métodos iguais e classes diferentes.
▪ SOBRECARGA
▪ Assinaturas de métodos diferentes e mesma classe.
Polimorfismo de sobreposição
▪ Acontece quando substituímos um método de uma superclasse na 
sua subclasse, usando a mesma assinatura.
Exercício
Veiculo
terrestre
carro moto
aquático
Jetski lancha

Mais conteúdos dessa disciplina