Classes e Objetos

21
Java ESSENCIAL CLASSE E OBJETOS 4Java cursos Professor: Jefferson Teixeira www.4javacursos.com.br

description

programação java

Transcript of Classes e Objetos

  • 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