Professional Documents
Culture Documents
em Java:
Frederico Bublitz
Herdado de: Ivo Augusto Andrade Rocha Thiago Bruno Melo de Sales
Roteiro
Introduo Conceitos Bsicos
Introduo
Os conceitos de O.O. so independentes
da tecnologia - Java O.O.???
pensando em objetos Viso concreta: construir objetos do mundo real usando objetos de software
Viso Abstrata
Orientao a Objetos enxergar e modelar o mundo como um conjunto de objetos inter-relacionados que interagem entre si
Objeto1
Objeto2
Objeto3 Objeto4 Objeto5
Viso Abstrata
Um objeto uma entidade fsica ou conceitual que possui uma identidade, propriedades e operaes e que pode ser construdo e destrudo.
Viso Abstrata
Identidade de objetos: define a unicidade
dos objetos
MeuCarro
MinhaTV14
Viso Abstrata
As propriedades definem o estado do
objeto
Nome Nmero de Pessoas Valor Cor Marca Polegadas Cor Padro de Vdeo
Viso Abstrata
Operaes definem os comportamentos
que podem ser desempenhados pelo objeto
Acelerar Frear Ligar seta
Viso Abstrata
Exemplo: Classificao
Viso Concreta
preciso encontrar maneiras para
concretizar os conceitos do mundo real em sistemas computacionais Alm disso, preciso encontrar um modelo para a criao de objetos diferentes de acordo com um mesmo tipo
Viso Concreta
Classe
Uma classe um modelo, um prottipo para a criao de exemplares ou instncias de um mesmo tipo Um objeto uma instncia de uma classe
PudimMaeIvo
PudimMaeThiago
Viso Concreta
Todo objeto, instncia de uma classe, ter as mesmas propriedades (atributos) e as mesmas operaes (mtodos) dela A classe ento uma ferramenta para padronizar a criao de objetos de um determinado tipo
Exemplos
class Carro { String nome; int numPortas; int velocidadeMax;
Atributos
Carro(String n, int nPortas, int vel) { Construtor nome = n; numPortas = nPortas; velocidadeMax = vel; } void acelerar(int velocidade) { Mtodo velocidadeMax = velocidadeMax + velocidade }
Viso Abstrata
Encapsulamento/Information hiding
Mtodos especficos para acessar as informaes (Encapsulamento)
Caixa preta Informaes escondidas dos pilotos (Information Hiding)
Modificadores de Acesso
Private
Protected
Public
Default
Implementao em Java
Exemplo de classe:
public class Pessoa { public String nome; public Pessoa(String nome) { this.nome = nome; } public imprimirNome() { System.out.println(this.nome); }
Viso Concreta
Information
Hiding: mostrar aos clientes somente o que eles podem ver
Objeto Mtodos Privados/Protegidos Acesso apenas aos Mtodos pblicos! Pblicos
Atributos
Implementao em Java
public class Pessoa { private boolean validarNome(String nome) { ... }
Viso Concreta
Envio de Mensagens
Objeto, me d o teu nome pra eu mostrar na tela!!! Cliente (outro objeto)
getNome
Objeto
imprimirNome
Objeto
Implementao em Java
public class Pessoa { private String nome; public Pessoa(String nome) { this.nome = nome; } public imprimirNome(String nome) { System.out.println(Nome: + this.getNome()); } public void setNome(String nome) { if (this.validarNome(nome)) { this.nome = nome; } } public String getNome() { return this.nome; } }
Projeto Em sala
Objetivo
Implementar uma agenda telefnica
Classes
Agenda
Atributos
Pessoas
Mtodos
inserirPessoa(pessoa) removerPessoa(pessoa) imprimirAgenda()
Projeto (cont.)
Classes
Pessoa
Atributos
Nome Telefone Email Matrcula
Mtodos
Mtodos get/set