Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 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 aclasse 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. - salario - curriculo - setSalario(valor) - getSalario() - setCurriculo(curriculo) - getCurriculo() - printCurriculo() Professor Aluno - matricula - curso - setMatricula(mat) - getMatricula() - setCurso(curso) - getCurso() - addDisciplina(disc) - removeDisciplina(disc) - printDisciplinas() - nome - idade - endereco Pessoa - setNome(nome) - getNome() - setEndereco(end) - getEndereco() - setIdade(idade) - getIdade()
Compartilhar