You are on page 1of 21

4Java

cursos

Java ESSENCIAL
CLASSE E OBJETOS

www.4javacursos.com.br

Professor: Jefferson Teixeira

Tpicos Abordados

4Java
cursos

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

www.4javacursos.com.br

Professor: Jefferson Teixeira

Programao Procedural

4Java
cursos

Problemas
Mudana de requisitos na aplicao
Mudana de desenvolvedor

Muitas pessoas responsveis por colocar o mesmo cdigo em


vrios lugares

www.4javacursos.com.br

Professor: Jefferson Teixeira

Orientao a Objetos

4Java
cursos

Benefcios
Escrever menos cdigo
Concentrar responsabilidades nos locais certos
Flexibilizar a aplicao
Encapsular lgica de negcio
Polimorfismo (variao do comportamento)

www.4javacursos.com.br

Professor: Jefferson Teixeira

Classes: Estruturas de
Dados

4Java
cursos

Uma classe representa um tipo de dados


uma estrutura

Atributos

www.4javacursos.com.br

Professor: Jefferson Teixeira

Classes e Seus Mtodos

4Java
cursos

Emprestar

Devolver

Reservar

Obter Autor

Obter Ttulo do Livro

Mtodos
www.4javacursos.com.br

Professor: Jefferson Teixeira

Atributos X Mtodos

4Java
cursos

Atributos
Caractersticas da classe
Representados por substantivos
Mtodos
Operaes que a classe capaz de realizar
Representados por verbos

www.4javacursos.com.br

Professor: Jefferson Teixeira

Classes X Objetos

4Java
cursos

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

www.4javacursos.com.br

Professor: Jefferson Teixeira

Declarando Classes no
Java

4Java
cursos

No Java, classes so declaradas utilizando a palavra class


public class Livro {
...
}

www.4javacursos.com.br

Professor: Jefferson Teixeira

Declarando Mtodos e
Atributos
Atributos

Mtodos

www.4javacursos.com.br

4Java
cursos

public class Livro {


String isbn;
int numPaginas;
...
void emprestar(Cliente c) {
...
}
void devolver() {
...
}
}

Professor: Jefferson Teixeira

A Notao UML

4Java
cursos

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

www.4javacursos.com.br

Professor: Jefferson Teixeira

A Notao UML:
Diagrama de Classes

www.4javacursos.com.br

4Java
cursos

Professor: Jefferson Teixeira

Assinatura de um Mtodo

4Java
cursos

Atributos

void emprestar(Cliente c)
Tipo de
Retorno

Nome

Parmetros

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

www.4javacursos.com.br

Professor: Jefferson Teixeira

Sobrecarga de Mtodos

4Java
cursos

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
www.4javacursos.com.br

Professor: Jefferson Teixeira

Criando e Manipulando
Objetos

4Java
cursos

Um objeto sempre instncia de uma classe


Para instanciar objetos, utilizado o new
Livro livro1 = new Livro();
Cliente cliente1 = new Cliente();

O objeto possui acesso ao que foi definido na


sua estrutura (classe) atravs do "."
livro1.titulo = "Aprendendo Java";
livro1.emprestar(cliente1);

www.4javacursos.com.br

Professor: Jefferson Teixeira

Criando e Manipulando
Objetos

4Java
cursos

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";

www.4javacursos.com.br

Professor: Jefferson Teixeira

Objetos e Referncias

4Java
cursos

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

www.4javacursos.com.br

Professor: Jefferson Teixeira

Como Funciona a Stack

www.4javacursos.com.br

4Java
cursos

Professor: Jefferson Teixeira

Como Funciona o Heap

www.4javacursos.com.br

4Java
cursos

Professor: Jefferson Teixeira

O Operador this

4Java
cursos

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

www.4javacursos.com.br

Professor: Jefferson Teixeira

O Operador this

4Java
cursos

public class Circulo {


private double raio;
public void setRaio(double raio) {
this.raio = raio;
}
}

www.4javacursos.com.br

Professor: Jefferson Teixeira

You might also like