Вы находитесь на странице: 1из 10

Conceitos de OO – Parte 5

Encapsulamento e Herança
Os pilares da OO
• Os pilares da OO são mecanismos fundamentais
que garantem a filosofia de Orientação a Objetos.
São eles:
– Encapsulamento;
– Herança;
– Polimorfismo.
Encapsulamento
• É a técnica que faz com que detalhes internos
do funcionamento dos métodos de uma
classe permaneçam ocultos para os objetos
• Resumindo: “Não mostre as cartas de seu baralho”

• Objetivos:
– Ocultar do mundo externo ao objeto os detalhes de implementação e
restringir o acesso às propriedades e aos métodos;
– Permitir a criação de programas com menos erros e mais clareza.

• Vantagens:
– Segurança no acesso ao objeto;
– Melhor consistência no estado interno, pois evita alterações incorretas
nos valores das propriedades.
Encapsulamento
• Exemplo: Implementação de uma calculadora
– Pessoa1: Como funciona a função de somar?
– Pessoa2: Você passa dois parâmetros e eu te
retorno o resultado
– Pessoa1: Mas como é implementado
internamente?
– Pessoa2: Você não precisa saber disso
Encapsulamento
Herança
• Herança é um princípio de orientação a objetos, que
permite que classes compartilhem atributos e
métodos, através de "heranças".
• Resumindo: “Filho de peixe, peixe é”.

• Permite definir novas classes (subclasses) a partir de uma classe já


existente (superclasse).

• A subclasse herda as propriedades comuns da superclasse e pode ainda


adicionar novos métodos ou reescrever métodos herdados.

• Objetivo: evitar que classes que possuam atributos ou métodos


semelhantes sejam repetidamente criados.
Herança
• Pode ser: Simples Pessoa
- nome
- idade
- endereco
Símbolo que indica - setNome(nome)
- getNome()
herança entre classes - setEndereco(end)
- getEndereco()
- setIdade(idade)
- getIdade()

Professor Aluno
- salario - matricula
- curriculo - curso
- setSalario(valor) - setMatricula(mat)
- getSalario() - getMatricula()
- setCurriculo(curriculo) - setCurso(curso)
- getCurriculo() - getCurso()
- printCurriculo() - addDisciplina(disc)
- removeDisciplina(disc)
- printDisciplinas()
Herança

• Pode ser: Múltipla


Exercício
• Crie o diagrama de classe para:
• Caminhão, carro e ônibus
Exercício 2
• Abra o projeto do calculo da área do triângulo
• Crie a classe Poligono com o atributo cor (String) e acrescente
seus métodos set e get
• Altere a classe Triangulo

Sabendo que a classe Triangulo herdou todas as características


de Poligono, acrescente na classe principal as linhas de comando
necessárias para permitir ao usuário inserir a cor do triângulo.

Вам также может понравиться