poo encapsulamento

25
PROGRAMAÇÃO ORIENTADA A OBJETOS POO Professor: José Maria Lehrback Filho Curso: Técnico em Informática Turno: Noturno Data: 11/04/2017

Upload: sedu

Post on 23-Jan-2018

146 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Poo encapsulamento

PROGRAMAÇÃO ORIENTADA A OBJETOS

POO

Professor: José Maria Lehrback FilhoCurso: Técnico em Informática Turno: Noturno Data: 11/04/2017

Page 2: Poo encapsulamento

Introdução a POO

Classe e Objeto

Método

Herança

Encapsulamento

Abstração

Polimorfismo

Interface

Coesão / Acoplamento

Page 3: Poo encapsulamento

Programação

Orientada a Objetos?

3 PILARES

• Encapsulamento.• Herança.• Polimorfismo.

Page 4: Poo encapsulamento

ENCAPSULAMENTO

Page 5: Poo encapsulamento

Programação

Orientada a Objetos?

O que é um encapsulamento?

Page 6: Poo encapsulamento

Programação

Orientada a Objetos?

Page 7: Poo encapsulamento

Programação

Orientada a Objetos?

Porque a pilha tem ser uma capsula?

Page 8: Poo encapsulamento

Programação

Orientada a Objetos?

Page 9: Poo encapsulamento

Programação

Orientada a Objetos?

Page 10: Poo encapsulamento

Programação

Orientada a Objetos?

Page 11: Poo encapsulamento

Programação

Orientada a Objetos?

PilhaRecarregável

PilhaComum

PilhaComum

Page 12: Poo encapsulamento

Programação

Orientada a Objetos?

Você pode colocar pilha recarregável no controle remoto?

Page 13: Poo encapsulamento

Programação

Orientada a Objetos?

E o que tem a ver a pilha com programação?

Page 14: Poo encapsulamento

Programação

Orientada a Objetos?

Encapsular.

Ocultar partes independente da implementação, permitindo construir partes invisíveis ao mundo exterior.

Page 15: Poo encapsulamento

Interface

Programação

Orientada a Objetos?

MensagemM

ensa

gem

Men

sagem

mensagem

INTERFACE

Page 16: Poo encapsulamento

Programação

Orientada a Objetos?

Interface

Lista de serviços fornecidos por um componente. É o contato com o mundo exterior, que define o que pode ser feito com um objeto dessa classe.

Page 17: Poo encapsulamento

Programação

Orientada a Objetos?

Vantagens de encapsular

1. Tornar mudanças invisíveis.2. Facilitar a reutilização do código.3. Reduzir efeito colaterais.

Page 18: Poo encapsulamento

Programação

Orientada a Objetos?

Como encapsular?

Page 19: Poo encapsulamento

Programação

Orientada a Objetos?

Page 20: Poo encapsulamento

<<interface>>Controlador

+ligar()+desligar()+abrirMenu()+fecharMenu()+aumentarTemp()+abaixarTemp()+turbo()

ControleRemoto

-temperatura-ligado-turbo

+ligar()+desligar()+abrirMenu()+fecharMenu()+aumentarTemp()+abaixarTemp()+turbo()- setTemperatura()- getTemperatura()- setLigado()- getLigado()- setTurbo()- getTurbo()

Page 21: Poo encapsulamento

<<interface>>Controlador

+ligar()+desligar()+abrirMenu()+fecharMenu()+aumentarTemp()+abaixarTemp()+turbo()

Interface Controlador//métodos abstratopublico abstrato Metodo ligar()publico abstrato Metodo desligar()publico abstrato Metodo abrirMenu()publico abstrato Metodo fecharMenu()publico abstrato Metodo aumentarTemp()publico abstrato Metodo abaixarTemp()publico abstrato Metodo turbo()FimInterface

Page 22: Poo encapsulamento

Classe ControleRemoto//Atributosprivado inteiro temperaturaprivado logico ligadoprivado logico turbo//Atributospublico Metodo contrutor()

temperatura = 25ligado = falsoturbo = falso

FimMetodoprivado Metodo getTemperatura()Retorne temperaturaFimMetodoprivado Metodo getLigado()Retorne ligadoFimMetodoprivado Metodo getTurbo()Retorne turboFimMetodoprivado Metodo setTemperatura(temp: Inteiro)Temperatura = tempFimMetodoprivado Metodo setLigado(liga: Logico)Ligado = ligaFimMetodoprivado Metodo setTurbo(turb: Logico)Turbo = turbFimMetodoFimClasse

ControleRemoto

-temperatura-ligado-turbo

+ligar()+desligar()+abrirMenu()+fecharMenu()+aumentarTemp()+abaixarTemp()+turbo()- setTemperatura()- getTemperatura()- setLigado()- getLigado()- setTurbo()- getTurbo()

Page 23: Poo encapsulamento

Classe ControleRemotoImplementa controlador//Subscrever Metodospublico Metodo ligar()...FimMetodopublico Metodo desligar()...FimMetodopublico Metodo abrirMenu()...FimMetodopublico Metodo fecharMenu()...FimMetodopublico Metodo aumentarTemp()...FimMetodopublico Metodo abaixarTemp()...FimMetodopublico Metodo turbo()...FimMetodoFimClasse

ControleRemoto

-temperatura-ligado-turbo

+ligar()+desligar()+abrirMenu()+fecharMenu()+aumentarTemp()+abaixarTemp()+turbo()- setTemperatura()- getTemperatura()- setLigado()- getLigado()- setTurbo()- getTurbo()

<<interface>>Controlador

+ligar()+desligar()+abrirMenu()+fecharMenu()+aumentarTemp()+abaixarTemp()+turbo()

Page 24: Poo encapsulamento

Classe ControleRemotoImplementa controlador//Subscrever Metodospublico Metodo ligar()setLigado (verdadeiro)FimMetodopublico Metodo desligar()setLigado (falso)FimMetodopublico Metodo abrirMenu()Escreva (getLigado())Escreva (getTemperura())

para i = 0 ate getTemperatura() passo 10 facaEscreva (“|”)FimparaEscreval (getTurbo())FimMetodopublico Metodo fecharMenu()Escreva (“fechando menu...”)FimMetodo

Page 25: Poo encapsulamento

publico Metodo aumentarTemp()se (getLigado()) entãosetTemperatura (getTemperatura()+1)Fimse

FimMetodopublico Metodo abaixarTemp()

se (getLigado()) entãosetTemperatura(getTemperatura()-1)Fimse

FimMetodopublico Metodo turbo()

se (getLigado() e getTemperatura()>25) entãosetTurbo(verdadeiro)SenaosetTurbo(falso)fimse

FimMetodoFimClasse