23
Metodologia e Linguagem de Programação Prof.º Thyago Maia

Metodologia e Linguagem de Programação - 2016.2 - Aula 15

Embed Size (px)

Citation preview

Metodologia e Linguagem de Programação

Prof.º Thyago Maia

Propriedades do modelo OO

Propriedades do modelo OO

Encapsulamento;

Herança;

Polimorfismo;

3

Herança

Herança

Uma subclasse pode herdar todos os componentes de uma classe pai;

Permite a criação de novas classes sem duplicação de código;

5

Pessoa

nome: String

escreverNome()

Juridica

cnpj: String

validarCNPJ(): Boolean

Fisica

cpf: String

validarCPF(): Boolean

Superclasse: Características comuns

Subclasses: Características específicas

Herança Em Java, podemos herdar atributos e métodos de

uma classe (criar uma extensão de classe) a partir da palavra reservada extends. Ex.:

6

public class Pessoa {

public String nome;

Pessoa() { nome = “Fulano”; }

public void escreverNome() { System.out.println(nome); }

}

public class Fisica extends Pessoa {

public String cpf;

public boolean validarCPF() { // Código para validação return true; }

}

Exercício

Exercício

Crie as seguintes classes:

8

Funcionário

nome: Stringsalario: double

informarSalario()

Gerente

projeto: String

informarProjeto()

Programador

linguagem: String

informarLinguagem()

OBS: Todos os atributos sãopúblicos. Crie os métodosget e set necessários.

Exercício

Crie uma classe Java chamada Principal, que... Terá o método main implementado; Irá instanciar as classes Scanner (para receber as

entradas), Gerente e Programador; Receberá o nome e salário de cada um dos

funcionários; Receberá o nome do projeto do gerente e o nome da

linguagem utilizada pelo programador; Irá enviar os dados para cada objeto das classes

Gerente e Programador; Irá exibir todos os dados do gerente e do programador;

9

Encapsulamento

Encapsulamento

Mecanismo que provê proteção de acesso aos atributos e métodos de um objeto;

A depender de um projeto de uma classe, certos atributos e métodos devem ser tratados exclusivamente: Pela classe que os possui; Pela superclasse e subclasses em uma hierarquia; Por qualquer classe;

11

Encapsulamento

Para definir a visibilidade dos membros de um objeto, usamos as palavras reservadas public, private ou protected na assinatura de atributos e métodos; public – Podem ser acessados livremente; private – Podem ser acessados dentro da própria

classe em que foram declarados; protected – Podem ser acessados dentro da

própria classe em que foram declarados e a partir das classes descendentes;

12

Encapsulamento

Representação UML para as visibilidades de atributos e métodos em diagramas de classe:

(+) public; (-) private; (#) protected;

13

Polimorfismo

Polimorfismo

Permite que subclasses possuam métodos iguais (com a mesma assinatura) de uma superclasse, mas com comportamentos diferentes;

As implementações de tais métodos são redefinidas nas classes-filhas;

Classes-filha (subclasses) herdam implementações da classe-pai (superclasse) de acordo com uma hierarquia;

15

Polimorfismo

Ex.:

16

Figura

x: doubley: double

mostraArea()

Triangulo

mostraArea()

Quadrado

mostraArea()

Exercício

Polimorfismo

Implemente as classes abaixo:

18

Conta

saldo: double

getSaldo(): doubledeposita(double)saca(double)

ContaCorrente

deposita(double)

ContaPoupanca

OBS: Todos os atributos sãoprivados. Crie os métodosget e set necessários.

OBS: O método deposita daSubclasse ContaCorrente Deverá descontar uma taxa de 10 centavos em cada depósito.

Exercício

Crie uma classe Java chamada Principal, que... Terá o método main implementado; Irá instanciar as classes Scanner (para receber as

entradas) e objetos da classe ContaCorrente e ContaPoupanca;

Receberá o saldo a ser depositado em cada conta; Irá enviar os dados para cada objeto da classe

Conta; Irá depositar R$ 50,00 na poupança e R$ 50,00 na

conta corrente; Irá exibir o saldo de cada conta; 19

Polimorfismo

Implemente as classes abaixo:

20

DisciplinacodigoAluno: intnota1: doublenota2: doublemedia(): double

Algoritmos

nota3: double

media(): double

Matematica

nota3: doublenota4: double

media(): double

OBS: Todos os atributos sãoprivados. Crie os métodosget e set necessários.

Exercício

Crie uma classe Java chamada Principal, que... Terá o método main implementado; Irá instanciar as classes Scanner (para receber as

entradas) e objetos da classe Algoritmos e Matematica;

Receberá o código do aluno e as notas para cada disciplina;

Irá enviar os dados para cada objeto da classe Disciplina;

Irá calcular e exibir a média do aluno para cada disciplina;

21

Explore o assunto!

Explore o assunto!

• Referências

– CAELUM. Java e Orientação a Objetos. [Internet]. [citado em 2014 Feb 11]. Disponível em: https://www.caelum.com.br/apostila-java-orientacao-objetos/.

23