Post on 17-Dec-2015
description
Java ESSENCIAL
CLASSE E OBJETOS
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Tpicos Abordados
Programao Procedural e Orientada a Objetos
Classes
Atributos e mtodos
Objetos
Notao UML
Sobrecarga de mtodos
Objetos e referncias
Heap e Stack
Garbage collector
Operador this
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Programao Procedural
Problemas
Mudana de requisitos na aplicao
Mudana de desenvolvedor
Muitas pessoas responsveis por colocar o mesmo cdigo em vrios lugares
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Orientao a Objetos
Benefcios
Escrever menos cdigo
Concentrar responsabilidades nos locais certos
Flexibilizar a aplicao
Encapsular lgica de negcio
Polimorfismo (variao do comportamento)
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Classes: Estruturas de
Dados Uma classe representa um tipo de dados
uma estrutura
Atributos
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Classes e Seus MtodosEmprestar
Devolver
Reservar
Obter Autor
Obter Ttulo do Livro
Mtodos
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Atributos X Mtodos
Atributos
Caractersticas da classe
Representados por substantivos
Mtodos
Operaes que a classe capaz de realizar
Representados por verbos
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Classes X Objetos
A estrutura do Livro a qual ns nos referimos no representa um livro propriamente dito
Ela apenas uma estrutura (classe) usada como modelo para construir os livros propriamente ditos (objetos)
Classe e Objeto so conceitos diferentes!
Classes so usadas para instanciar objetos
Instncia
Instncia
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Declarando Classes no
Java
No Java, classes so declaradas utilizando a palavra class
public class Livro {
...
}
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Declarando Mtodos e
Atributos
public class Livro {
String isbn;
int numPaginas;
...
void emprestar(Cliente c) {
...
}
void devolver() {
...
}
}
Atributos
Mtodos
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
A Notao UML
Unified Modeling Language
Utilizada para documentar sistemas orientados a objetos
Composta por diversos diagramas
Um deles o Diagrama de Classes, que mostra as classes do sistema, juntamente com seus respectivos mtodos e atributos
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
A Notao UML:
Diagrama de Classes
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Assinatura de um Mtodo
Se o mtodo no retornar valores, utilizado o void
Um mtodo pode ter 0 ou mais parmetros, e
todo parmetro deve ter um tipo definido
void emprestar(Cliente c)
Atributos
Tipo de
RetornoNome Parmetros
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Sobrecarga de Mtodos
Sobrecarregar um mtodo significa criar outros mtodos com o mesmo nome, mas com assinatura diferente
void reservar(int dias) (int)
int reservar(Date data) (Date)
void reservar(Cliente c, Date data) (Cliente, Date)
Nome do Mtodo
no muda
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Criando e Manipulando
Objetos
Um objeto sempre instncia de uma classe
Para instanciar objetos, utilizado o new
O objeto possui acesso ao que foi definido na
sua estrutura (classe) atravs do "."
Livro livro1 = new Livro();
Cliente cliente1 = new Cliente();
livro1.titulo = "Aprendendo Java";
livro1.emprestar(cliente1);
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Criando e Manipulando
Objetos
Cada objeto criado com o new nico
Os atributos de objetos diferentes pertencem apenas ao objeto
Livro livro1 = new Livro();
livro1.isbn = "1234";
Livro livro2 = new Livro();
livro2.isbn = "4321";
Livro livro3 = new Livro();
livro3.isbn = "1212";
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Objetos e Referncias
Uma varivel cujo tipo uma classe no guarda o objeto diretamente
A varivel guarda uma referncia ao objeto
O new aloca uma rea de memria e retorna a referncia da rea de memria alocada
As variveis declaradas em mtodos so criadas numa rea de memria chamada stack
Os objetos so criados numa rea de memria chamada heap
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Como Funciona a Stack 4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
Como Funciona o Heap 4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
O Operador this
Normalmente no obrigatrio
Usado em basicamente duas situaes
Diferenciar um atributo do objeto de um argumento do mtodo
Fornecer a referncia do prprio objeto para outro mtodo
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br
O Operador this
public class Circulo {
private double raio;
public void setRaio(double raio) {
this.raio = raio;
}
}
4Java cursos
Professor: Jefferson Teixeirawww.4javacursos.com.br