Sei sulla pagina 1di 47

UNIDADE DE ENSINO SUPERIOR DOM BOSCO DEPARTAMENTO DE INFORMTICA PROGRAMAO ORIENTADA A OBJETOS I PROF: JOBERTH DE NAZAR SILVA

PROGRAMAO ORIENTADA A OBJETOS I

CONTEDO:
1. Controle de Acesso a Membros 2. Herana 3. Sobreposio 4. Classes Abstratas

5. Interfaces

Controle de acesso a membros


3

INTRODUO

Como em todas as linguagens de programao, a acessibilidade a uma classe, mtodo e atributo deve seguir algumas regras;
Lista dos principais modificadores:
public Abstract private static protected final
4

padro

MODIFICADORES PARA AS CLASSES padro


Exemplo

MODIFICADORES PARA AS CLASSES public


Exemplo

MODIFICADORES PARA AS CLASSES final


Exemplo

MODIFICADORES PARA MTODOS padro


Exemplo

MODIFICADORES PARA MTODOS public


Exemplo

MODIFICADORES PARA MTODOS private

Exemplo

//Erro
10

MODIFICADORES PARA MTODOS protected

Exemplo

11

MODIFICADORES PARA MTODOS abstract

Exemplo

12

MODIFICADORES PARA MTODOS final

Exemplo

//Erro
13

MODIFICADORES PARA MTODOS static

Exemplo

14

MODIFICADORES DE ATRIBUTOS padro

Exemplo

15

MODIFICADORES DE ATRIBUTOS public

Exemplo

16

MODIFICADORES DE ATRIBUTOS private

Exemplo

//Erro

17

MODIFICADORES DE ATRIBUTOS protected

Exemplo

18

MODIFICADORES DE ATRIBUTOS final

Exemplo

19

MODIFICADORES DE ATRIBUTOS static

Exemplo

20

Herana

21

DEFINIES Relacionamento hierrquico entre classes:


(super)classe ou ancestral

(sub)classe ou classe herdeira

A subclasse herda da classe:

mais especializada

todos os campos todos os mtodos

A subclasse pode conter atributos e mtodos adicionais


22

GENERALIZAO / ESPECIALIZAO

Pessoa

especializao

generalizao

Professor

Aluno

23

CARACTERSTICAS DAS HERANAS


1.

2.

3.

4.

5.

6.

Campos da superclasse que no sejam privados podem ser utilizados diretamente. Campos privados da superclasse no podem ser herdados pelas subclasses. Construtores da superclasse podem ser utilizados atravs da palavra super. Somente os Construtores da superclasse imediata podem ser utilizados diretamente. Mtodos da superclasse que no sejam privados podem ser utilizados diretamente. Mtodos sobrepostos da superclasse que no sejam privados podem ser utilizados atravs da palavra super.
24

EXEMPLO DE HERANA
Pessoa nome,identidade,nascimento Pessoa(n,i,nasc); qualIdentidade(); toString();

Superclasse ou classe-pai

Funcionrio admisso,salrio Funcionrio(n,i,nasc,adm,sal); qualSalrio(); toString();

Subclasse ou classe filha

25

EXEMPLO DE HERANA
class Pessoa { private String nome; private int identidade; private int nascimento; Pessoa(String n,int i,DataCons d) { nome = n; identidade = i; nascimento = d; } public String toString() { return "Nome: "+nome+"\nIdentidade: "+identidade+" "+ "\nData de Nascimento: "+nascimento; } final public float qualIdentidade() { return identidade; } } // fim da classe Pessoa

classes herdeiras no podem sobrepor este cdigo.

26

EXEMPLO DE HERANA
class Funcionario extends Pessoa { private int admisso; private float salrio; especifica a herana. Construtores da superclasse podem ser utilizados atravs da palavra super

Funcionario(String nome, int id,int nasc, int adm, float sal) super(nome,id,nasc); admisso = adm; salrio = sal; } public String toString() { return super.toString()+"\n"+ "Data de admisso: "+admisso+ "\n" + "Salrio: "+salrio; } final public float qualSalrio() { return salrio; }

O construtor desta classe delega ao construtor da superclasse a tarefa de inicializar os dados herdados. toString desta classe delega a toString da superclasse a impresso de seus dados. Sintaxe diferente para invocar construtor ou mtodo da superclasse.
27

} // fim da classe Funcionario

Sobreposio

28

FUNDAMENTOS Ocorre quando um mtodo de uma classe base reescrito na classe derivada; O mtodo reescrito tem a mesma assinatura que o mtodo da classe base; Mas muda quanto a implementao;

29

EXEMPLO

30

RESTRIES SOBREPOSIO

Alguns mtodos no podem ser sobrepostos em funo das modificaes que recebem: final
Static private
31

Classes Abstratas

32

FUNDAMENTOS Ao subir na hierarquia de heranas, as classes se tornam mais genricas e, provavelmente mais abstratas; Em algum ponto, a classe ancestral se torna to geral que acaba sendo vista mais como um modelo para outras classes do que uma classe com instncias especficas que so usadas;
33

FUNDAMENTOS Classes abstratas correpondem a especificaes genricas, que devero ser concretizadas em classes derivadas (subclasses) Esta classe pode conter mtodos abstratos que so aqueles mtodos apenas declarados, mas que no foram implementados
34

FUNDAMENTOS O mtodo abstrato contm apenas sua assinatura (nome, nmero e tipo dos seus parmetros). Sintaxe:

abstract class NomeDaSuperclasse { // corpo da classe abstrata... }

35

EXEMPLO
UML JAVA

36

Interfaces

37

FUNDAMENTOS

Uma interface uma especificao explcita de um conjunto de mtodos, que so implementados por uma classe
Uma determinada classe pode implementar um nmero ilimitado de interfaces (herana mltipla)

38

FUNDAMENTOS

Nas interfaces, os mtodos so declarados sem nenhum corpo

39

EXEMPLO

40

EXEMPLO

41

EXEMPLO

42

CLASSES ABSTRATAS x INTERFACES Declarao de mtodos Em uma classe abstrata podem ser definidos mtodos abstratos e noabstratos. Todos os mtodos de uma interface so implicitamente abstratos

Declarao de variveis Em uma classe abstrata podem ser definidas variveis de instncia, de
classe e constantes

Todos os atributos de uma interface so sempre public, static e final


(constantes), mesmo que essas palavras reservadas no sejam usadas.
43

DVIDAS ???

DUVIDAS ???
44

Atividade extra- classe

45

REFERNCIAS
Programao orientada a objetos : Curso tcnico de informtica / Victorio Albani de Carvalho, Giovany Frossard Teixeira. Colatina: IFES, 2012. 134 p. : il.
FAGUNDES, Marco. Herana, Classes Abstratas e Interfaces. Par: PsGraduao da Faculdade de Computao da UFPA, [2007]. 28 slides, color. Acompanha texto. SANTOS, Rafael. Introduo programao orientada a objetos usando Java. So Paulo: Editora Campus, 2003.

46

CONTEDO DAPRXIMA AULA

47

Potrebbero piacerti anche