SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Introdução ao Paradigma
    Orientado a Objeto
   Conceitos Fundamentais



    Ludimila Monjardim Casagrande
                2012
Tópicos da Aula

      Classes e objetos
      Estrutura de uma classe
      Representações de uma classe
      Atributos
      Métodos
      Construtores
      Ciclo de vida de um objeto
      Garbage collector


Introdução à OO         ©2012 Ludimila Monjardim Casagrande   2
Classes e Objetos

      Uma classe descreve um conjunto de objetos
          que possuem as mesmas propriedades
          (atributos), os mesmos comportamentos
          (operações/métodos), relacionamentos comuns
          com outros objetos e uma semântica comum.

      Objeto é uma instância de uma classe.




Introdução à OO        ©2012 Ludimila Monjardim Casagrande   3
Classes e Objetos

      Uma classe pode ser definida como um
          conceito, uma abstração ou uma entidade com
          limites e significados bem definidos para a
          aplicação em questão.

      As classes têm dois propósitos: promover o
          entendimento do mundo real e suportar uma
          base prática para uma implementação
          computacional.


Introdução à OO        ©2012 Ludimila Monjardim Casagrande   4
Estrutura de uma Classe

                                    <modificador> class <nome_da_classe> {

                                        [<declaração_dos_atributos>]

                                        [<declaração_dos_construtores>]

Estrutura básica de uma classe          [<declaração_dos_métodos>]
            em UML
                                    }
                                             Estrutura básica de uma classe em
                                                            Java




Introdução à OO              ©2012 Ludimila Monjardim Casagrande                 5
Estrutura de uma Classe - Exemplo
  public class Contador {

       int contador;                                  Atributo e tipo do atributo
       Contador( ) {
         this.contador = 0;                           Construtor default
       }

       void incrementa( ) {
          this.contador++;
       }                                                      Métodos

       void decrementa( ) {
          this.contador--;
       }
  }                    this  referência para o objeto corrente
Introdução à OO                ©2012 Ludimila Monjardim Casagrande                  6
Representações de uma Classe

                                    public class Conta {
                                        private double saldo;
                                        public void creditar (double valor) {
                                            saldo = saldo + valor;
     Representação usando UML
                                        }
     Nota:                              public void debitar (double valor) {
     - private                              saldo = saldo - valor;
     + public
     ~ default                          }
     # protected                    }
                                                Representação usando Java


Introdução à OO            ©2012 Ludimila Monjardim Casagrande                  7
Atributos

      Atributos são dados que caracterizam os objetos
          de uma classe.

      Nome, idade e endereço são exemplos de
          atributos de um objeto Pessoa.

      Cor, ano e modelo são possíveis atributos de
          objetos Carro.



Introdução à OO            ©2012 Ludimila Monjardim Casagrande   8
Atributos

      Cada atributo tem um valor para cada objeto (ou
          instância de classe).

      Cada nome de atributo é único em cada classe.

      A declaração de qualquer atributo em uma
          classe é composta minimamente pelo tipo do
          atributo (que pode ser um tipo primitivo ou uma
          classe) e pelo identificador do atributo.


Introdução à OO          ©2012 Ludimila Monjardim Casagrande   9
Tipos Primitivos do Java

      Os tipos primitivos da linguagem Java são:
            boolean
            char
            byte
            short
            int
            long
            float
            double


Introdução à OO        ©2012 Ludimila Monjardim Casagrande   10
Métodos

      Um método é uma operação ou função que
          pode ser aplicada a objetos de uma classe.

      Por exemplo: abrir, fechar, salvar e imprimir são
          operações que podem ser aplicadas a objetos
          da classe Arquivo.

      Todos os objetos de uma classe possuem as
          mesmas operações, também conhecidas como
          comportamentos.

Introdução à OO         ©2012 Ludimila Monjardim Casagrande   11
Exemplos de Métodos

  public class Aluno {
       int matricula;

       public int obterMatricula( ) {                       Método sem argumentos,
         return matricula;                                  que retorna um int
       }

       public void alterarMatricula                         Método com argumentos,
                         (int matr) {                       que não retorna nada
         matricula = matr;
       }
  }

Introdução à OO           ©2012 Ludimila Monjardim Casagrande                   12
Construtores

      Objetos são criados por meio da execução de
          um dos seus construtores.
      Os construtores possuem o mesmo nome da
          classe.
      Métodos construtores definidos para uma certa
          classe podem ou não possuir argumentos.
      O construtor sem argumentos ou construtor
          vazio é considerado o construtor default.

Introdução à OO         ©2012 Ludimila Monjardim Casagrande   13
Exemplos de Construtores
   public class Conta {
        private double saldo;
        public Conta ( ) {                               Construtor default
        }
        public Conta (double saldo) {                          Construtor com
           this.saldo = saldo;
                                                               um argumento
        }
        public void creditar (double valor) {
           saldo = saldo + valor;
        }
        public void debitar (double valor) {
           saldo = saldo - valor;
        }                                                Os construtores normalmente
        public double obterSaldo ( ) {                   inicializam os atributos da
           return saldo;                                 classe.
        }
   }
Introdução à OO                 ©2012 Ludimila Monjardim Casagrande                    14
Ciclo de Vida de um Objeto

      Todo objeto em um programa ou aplicação é
          criado em tempo de execução, utilizado e
          destruído.

      Em Java, a palavra-chave new é usada para
          criar um novo objeto como uma instância de
          uma classe específica, retornando como
          resultado uma referência para o objeto criado.



Introdução à OO         ©2012 Ludimila Monjardim Casagrande   15
Ciclo de Vida de um Objeto

      Em Java um objeto não precisa ser
          explicitamente destruído como acontece, por
          exemplo, em C++.

      No caso da linguagem Java, a memória alocada
          para um objeto é liberada por um processo de
          baixa prioridade denominado garbage collector,
          quando esse objeto não estiver mais sendo
          usado e quando ele não puder mais ser
          acessado.

Introdução à OO         ©2012 Ludimila Monjardim Casagrande   16
Garbage Collection

      Em Java não é possível determinar quando um
          objeto será coletado.

      Existem alguns métodos que, quando chamados
          em algum ponto do código, sugerem que objetos
          não utilizados sejam coletados. Esses métodos são:
                  System.gc( )              e           Runtime.gc( )

      No entanto, isso não garante a execução do
          garbage collector nesse ponto, uma vez que outro
          processo de maior prioridade pode impedi-lo.

Introdução à OO           ©2012 Ludimila Monjardim Casagrande           17
Exemplo de Criação de um Objeto
     public class Principal {
         public static void main (String[] args) {
             Conta c1 = new Conta( );                               Chamada do construtor
                                                                    default
             c1.creditar(10.0);
             System.out.println(c1.obterSaldo());
             Conta c2 = new Conta(50.0);                        Chamada do construtor
                                                                com um argumento
             c2.creditar(10.0);
             System.out.println(c2.obterSaldo());
         }                                                      c1 e c2 são objetos
                                                                distintos e independentes
     }
Introdução à OO               ©2012 Ludimila Monjardim Casagrande                           18
Acesso aos Membros de uma Classe

      Os atributos e métodos também são chamados
          de membros de uma classe.
      Em Java, a seguinte sintaxe é utilizada para se
          ter acesso aos membros da classe:
           <objeto>.<membro>              ou        <classe>.<membro>
      Exemplos:
            c1.creditar(10.0);
            aluno1.ra;
            System.out;

Introdução à OO            ©2012 Ludimila Monjardim Casagrande          19
API do Java

       Existem duas versões principais de APIs
        (Application Program Interface) do Java
         Java SE: Java Platform Standard Edition 7
            http://download.oracle.com/javase/7/docs/api/
         Java EE: Java Platform Enterprise Edition 6
            http://docs.oracle.com/javaee/6/api/index.html

       A especificação de uma API contém todas as
        classes e interfaces nativas do Java.
         Exemplos: Date, List, ArrayList, String, etc.

POO                      ©2012 Ludimila Monjardim Casagrande   20
Leituras Recomendadas

      FJ-11: Java e Orientação a Objetos.
          Caelum Ensino e Inovação.
          http://www.caelum.com.br/curso/fj-11-java-
          orientacao-objetos/.

      Orientação a Objetos em Java
          K19 Treinamentos.
          http://www.k19.com.br/downloads/apostilas-java.




Introdução à OO          ©2012 Ludimila Monjardim Casagrande   21

Mais conteúdo relacionado

Mais procurados

Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamentoSedu
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOAndré Victor
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5César Augusto Pessôa
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herançaIvan Ricarte
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8Helder da Rocha
 

Mais procurados (20)

POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamento
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Encapsulamento em oo
Encapsulamento em ooEncapsulamento em oo
Encapsulamento em oo
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTO
 
Exercicios java básico
Exercicios java básicoExercicios java básico
Exercicios java básico
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herança
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8
 

Destaque

O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosFelipe J. R. Vieira
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClasseFelipe J. R. Vieira
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientadarobinhoct
 
POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresFelipe J. R. Vieira
 
Declarações e Controle de Acesso
Declarações e Controle de AcessoDeclarações e Controle de Acesso
Declarações e Controle de AcessoElenilson Vieira
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classesfeiosanelma
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objetoGleyciana Garrido
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)jose-junior89
 

Destaque (20)

O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientada
 
POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e Vetores
 
Declarações e Controle de Acesso
Declarações e Controle de AcessoDeclarações e Controle de Acesso
Declarações e Controle de Acesso
 
Lista2
Lista2Lista2
Lista2
 
Programacao em java
Programacao em javaProgramacao em java
Programacao em java
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classes
 
3 orientacao-objetos
3 orientacao-objetos3 orientacao-objetos
3 orientacao-objetos
 
Lod law of demeter
Lod law of demeterLod law of demeter
Lod law of demeter
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objeto
 
Orientação a Objetos (2)
Orientação a Objetos (2)Orientação a Objetos (2)
Orientação a Objetos (2)
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Tutorial javac
Tutorial javacTutorial javac
Tutorial javac
 
POO - 08 - Prática de Encapsulamento
POO - 08 - Prática de EncapsulamentoPOO - 08 - Prática de Encapsulamento
POO - 08 - Prática de Encapsulamento
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 

Semelhante a Introdução aos Conceitos Fundamentais da Programação Orientada a Objetos

Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoMarconi Rodrigues
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#biandamakengo08
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)Mario Sergio
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseRegis Magalhães
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )PeslPinguim
 

Semelhante a Introdução aos Conceitos Fundamentais da Programação Orientada a Objetos (20)

Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
POO - 04 - Variávies em Java
POO - 04 - Variávies em JavaPOO - 04 - Variávies em Java
POO - 04 - Variávies em Java
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Paradigma Orientado a Objeto
Paradigma Orientado a ObjetoParadigma Orientado a Objeto
Paradigma Orientado a Objeto
 
ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#ebook-completo c# o melhor para começar no c#
ebook-completo c# o melhor para começar no c#
 
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de DesenvolvimentoPOO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
TESTE
TESTETESTE
TESTE
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Java7
Java7Java7
Java7
 
POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
SCJA
SCJASCJA
SCJA
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Refactoring
RefactoringRefactoring
Refactoring
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )
 

Mais de Ludimila Monjardim Casagrande (11)

Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
 
POO - 20 - Wrapper Classes
POO - 20 - Wrapper ClassesPOO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
 
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de ArgumentosPOO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
 
POO - 12 - A Classe Object
POO - 12 - A Classe ObjectPOO - 12 - A Classe Object
POO - 12 - A Classe Object
 
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em JavaPOO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
 
POO - 07 - Operadores do Java
POO - 07 - Operadores do  JavaPOO - 07 - Operadores do  Java
POO - 07 - Operadores do Java
 
POO - 06 - Encapsulamento
POO - 06 - EncapsulamentoPOO - 06 - Encapsulamento
POO - 06 - Encapsulamento
 
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em JavaPOO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
 

Introdução aos Conceitos Fundamentais da Programação Orientada a Objetos

  • 1. Introdução ao Paradigma Orientado a Objeto Conceitos Fundamentais Ludimila Monjardim Casagrande 2012
  • 2. Tópicos da Aula  Classes e objetos  Estrutura de uma classe  Representações de uma classe  Atributos  Métodos  Construtores  Ciclo de vida de um objeto  Garbage collector Introdução à OO ©2012 Ludimila Monjardim Casagrande 2
  • 3. Classes e Objetos  Uma classe descreve um conjunto de objetos que possuem as mesmas propriedades (atributos), os mesmos comportamentos (operações/métodos), relacionamentos comuns com outros objetos e uma semântica comum.  Objeto é uma instância de uma classe. Introdução à OO ©2012 Ludimila Monjardim Casagrande 3
  • 4. Classes e Objetos  Uma classe pode ser definida como um conceito, uma abstração ou uma entidade com limites e significados bem definidos para a aplicação em questão.  As classes têm dois propósitos: promover o entendimento do mundo real e suportar uma base prática para uma implementação computacional. Introdução à OO ©2012 Ludimila Monjardim Casagrande 4
  • 5. Estrutura de uma Classe <modificador> class <nome_da_classe> { [<declaração_dos_atributos>] [<declaração_dos_construtores>] Estrutura básica de uma classe [<declaração_dos_métodos>] em UML } Estrutura básica de uma classe em Java Introdução à OO ©2012 Ludimila Monjardim Casagrande 5
  • 6. Estrutura de uma Classe - Exemplo public class Contador { int contador; Atributo e tipo do atributo Contador( ) { this.contador = 0; Construtor default } void incrementa( ) { this.contador++; } Métodos void decrementa( ) { this.contador--; } } this  referência para o objeto corrente Introdução à OO ©2012 Ludimila Monjardim Casagrande 6
  • 7. Representações de uma Classe public class Conta { private double saldo; public void creditar (double valor) { saldo = saldo + valor; Representação usando UML } Nota: public void debitar (double valor) { - private saldo = saldo - valor; + public ~ default } # protected } Representação usando Java Introdução à OO ©2012 Ludimila Monjardim Casagrande 7
  • 8. Atributos  Atributos são dados que caracterizam os objetos de uma classe.  Nome, idade e endereço são exemplos de atributos de um objeto Pessoa.  Cor, ano e modelo são possíveis atributos de objetos Carro. Introdução à OO ©2012 Ludimila Monjardim Casagrande 8
  • 9. Atributos  Cada atributo tem um valor para cada objeto (ou instância de classe).  Cada nome de atributo é único em cada classe.  A declaração de qualquer atributo em uma classe é composta minimamente pelo tipo do atributo (que pode ser um tipo primitivo ou uma classe) e pelo identificador do atributo. Introdução à OO ©2012 Ludimila Monjardim Casagrande 9
  • 10. Tipos Primitivos do Java  Os tipos primitivos da linguagem Java são:  boolean  char  byte  short  int  long  float  double Introdução à OO ©2012 Ludimila Monjardim Casagrande 10
  • 11. Métodos  Um método é uma operação ou função que pode ser aplicada a objetos de uma classe.  Por exemplo: abrir, fechar, salvar e imprimir são operações que podem ser aplicadas a objetos da classe Arquivo.  Todos os objetos de uma classe possuem as mesmas operações, também conhecidas como comportamentos. Introdução à OO ©2012 Ludimila Monjardim Casagrande 11
  • 12. Exemplos de Métodos public class Aluno { int matricula; public int obterMatricula( ) { Método sem argumentos, return matricula; que retorna um int } public void alterarMatricula Método com argumentos, (int matr) { que não retorna nada matricula = matr; } } Introdução à OO ©2012 Ludimila Monjardim Casagrande 12
  • 13. Construtores  Objetos são criados por meio da execução de um dos seus construtores.  Os construtores possuem o mesmo nome da classe.  Métodos construtores definidos para uma certa classe podem ou não possuir argumentos.  O construtor sem argumentos ou construtor vazio é considerado o construtor default. Introdução à OO ©2012 Ludimila Monjardim Casagrande 13
  • 14. Exemplos de Construtores public class Conta { private double saldo; public Conta ( ) { Construtor default } public Conta (double saldo) { Construtor com this.saldo = saldo; um argumento } public void creditar (double valor) { saldo = saldo + valor; } public void debitar (double valor) { saldo = saldo - valor; } Os construtores normalmente public double obterSaldo ( ) { inicializam os atributos da return saldo; classe. } } Introdução à OO ©2012 Ludimila Monjardim Casagrande 14
  • 15. Ciclo de Vida de um Objeto  Todo objeto em um programa ou aplicação é criado em tempo de execução, utilizado e destruído.  Em Java, a palavra-chave new é usada para criar um novo objeto como uma instância de uma classe específica, retornando como resultado uma referência para o objeto criado. Introdução à OO ©2012 Ludimila Monjardim Casagrande 15
  • 16. Ciclo de Vida de um Objeto  Em Java um objeto não precisa ser explicitamente destruído como acontece, por exemplo, em C++.  No caso da linguagem Java, a memória alocada para um objeto é liberada por um processo de baixa prioridade denominado garbage collector, quando esse objeto não estiver mais sendo usado e quando ele não puder mais ser acessado. Introdução à OO ©2012 Ludimila Monjardim Casagrande 16
  • 17. Garbage Collection  Em Java não é possível determinar quando um objeto será coletado.  Existem alguns métodos que, quando chamados em algum ponto do código, sugerem que objetos não utilizados sejam coletados. Esses métodos são: System.gc( ) e Runtime.gc( )  No entanto, isso não garante a execução do garbage collector nesse ponto, uma vez que outro processo de maior prioridade pode impedi-lo. Introdução à OO ©2012 Ludimila Monjardim Casagrande 17
  • 18. Exemplo de Criação de um Objeto public class Principal { public static void main (String[] args) { Conta c1 = new Conta( ); Chamada do construtor default c1.creditar(10.0); System.out.println(c1.obterSaldo()); Conta c2 = new Conta(50.0); Chamada do construtor com um argumento c2.creditar(10.0); System.out.println(c2.obterSaldo()); } c1 e c2 são objetos distintos e independentes } Introdução à OO ©2012 Ludimila Monjardim Casagrande 18
  • 19. Acesso aos Membros de uma Classe  Os atributos e métodos também são chamados de membros de uma classe.  Em Java, a seguinte sintaxe é utilizada para se ter acesso aos membros da classe: <objeto>.<membro> ou <classe>.<membro>  Exemplos:  c1.creditar(10.0);  aluno1.ra;  System.out; Introdução à OO ©2012 Ludimila Monjardim Casagrande 19
  • 20. API do Java  Existem duas versões principais de APIs (Application Program Interface) do Java  Java SE: Java Platform Standard Edition 7  http://download.oracle.com/javase/7/docs/api/  Java EE: Java Platform Enterprise Edition 6  http://docs.oracle.com/javaee/6/api/index.html  A especificação de uma API contém todas as classes e interfaces nativas do Java.  Exemplos: Date, List, ArrayList, String, etc. POO ©2012 Ludimila Monjardim Casagrande 20
  • 21. Leituras Recomendadas  FJ-11: Java e Orientação a Objetos. Caelum Ensino e Inovação. http://www.caelum.com.br/curso/fj-11-java- orientacao-objetos/.  Orientação a Objetos em Java K19 Treinamentos. http://www.k19.com.br/downloads/apostilas-java. Introdução à OO ©2012 Ludimila Monjardim Casagrande 21