Prévia do material em texto
Prof. Simone Gama
profsimonegama@gmail.com
Universidade Estácio de Sá
Programação Orientada à
Objetos em Java
Aula 03 – POO: Classes e Objetos em Java
mailto:profsimone.gama@gmail.com
Programação Orientada à Objeto
Programação Orientada à Objetos (sigla
POO) é uma metodologia de programação
que procura representar, no computador,
objetos do mundo real.
Prof. Simone Gama Progr. Orientado a Objetos em Java 2
Programação Orientada à Objeto
A POO possui 4 pilares fundamentais na sua classificação
principal como paradigma:
Prof. Simone Gama Progr. Orientado a Objetos em Java 3
Abstração - POO
Abstração
A abstração consiste em um dos pontos mais importantes dentro de
qualquer linguagem Orientada a Objetos. Como estamos lidando com
uma representação de um objeto real (o que dá nome ao paradigma),
temos que imaginar o que esse objeto irá realizar dentro de nosso
sistema.
São três pontos que devem ser levados em consideração nessa
abstração:
Prof. Simone Gama Progr. Orientado a Objetos em Java 4
Abstração - POO
Abstração
Identidade
O primeiro ponto é darmos uma identidade ao objeto que iremos
criar. Essa identidade deve ser única dentro do sistema para que não
haja conflito. Na maior parte das linguagens, há o conceito de pacotes.
Nessas linguagens, a identidade do objeto não pode ser repetida
dentro do pacote, e não necessariamente no sistema inteiro.
Prof. Simone Gama Progr. Orientado a Objetos em Java 5
Abstração - POO
Abstração
Propriedades
A segunda parte diz respeito a características do objeto. Como
sabemos, no mundo real qualquer objeto possui elementos que o
definem.
Dentro da programação orientada a objetos, essas características são
nomeadas propriedades. Por exemplo, as propriedades de um objeto
“Cachorro” poderiam ser “Tamanho”, “Raça” e “Idade”.
Prof. Simone Gama Progr. Orientado a Objetos em Java 6
Abstração - POO
Abstração
Métodos
A terceira parte é definirmos as ações que o objeto irá
executar. Essas ações, são chamados métodos. Esses métodos
podem ser extremamente variáveis, desde “Acender()” em
um objeto lâmpada até “Latir()” em um objeto cachorro.
Prof. Simone Gama Progr. Orientado a Objetos em Java 7
Classes e Objetos em Java
Programação Orientada à Objeto
É a representação computacional de algo do mundo real:
• Algo Concreto
• Algo Abstrato
Processo de Abstração: Transformar aquilo que observamos ser
realidade para o mundo computacional.
Prof. Simone Gama Progr. Orientado a Objetos em Java 8
Classes e Objetos em Java
Programação Orientada à Objeto
Exemplo:
• Elementos Concretos: Cachorro, gato, casa, carro, etc.
• Elementos Abstratos: Música, transação bancária.
Prof. Simone Gama Progr. Orientado a Objetos em Java 9
Classes e Objetos em Java
O que é Objeto?
Prof. Simone Gama Progr. Orientado a Objetos em Java 10
Classes e Objetos em Java
O que é Objeto?
Prof. Simone Gama Progr. Orientado a Objetos em Java 11
É uma instanciação de um conjunto de dados, criada
durante a execução de um programa orientado a objetos,
de acordo com o que é especificado por uma classe.
Classes e Objetos em Java
Objetos possuem:
• Identidade
• Características
• Comportamento específico
Prof. Simone Gama Progr. Orientado a Objetos em Java 12
Classes e Objetos em Java
Exemplos:
• Identidade:
• Gato
• Características:
• Pelo branco
• Patas largas
• Comportamento:
• Mia
• Dorme o dia inteiro
Prof. Simone Gama Progr. Orientado a Objetos em Java 13
Classes e Objetos em Java
Exemplos:
• Identidade:
• Mário
• Características:
• Olhos azuis
• Altura – 1.85
• Comportamento:
• Andar
• Falar
Prof. Simone Gama Progr. Orientado a Objetos em Java 14
Classes e Objetos em Java
Exemplos:
• Identidade:
• Conta Bancária
• Características:
• Número da Agência
• Número da Conta
• Comportamento:
• Saque
• Depósito
• Transferência
Prof. Simone Gama Progr. Orientado a Objetos em Java 15
Programação Orientada à Objeto
Podemos também classificar da seguinte forma:
Atributos e Métodos.
Prof. Simone Gama Progr. Orientado a Objetos em Java 16
Programação Orientada à Objeto
Podemos também classificar da seguinte forma:
Atributos e Métodos.
Prof. Simone Gama Progr. Orientado a Objetos em Java 17
Atributos: São as características inerentes ao meu ser ou coisa do mundo
real quando são definidas no mundo computacional.
Métodos: São os comportamentos ou funções de um objeto no mundo
real na forma como ele é tratado computacionalmente.
Programação Orientada à Objeto
Podemos também classificar da seguinte forma:
Atributos e Métodos.
Prof. Simone Gama Progr. Orientado a Objetos em Java 18
Gato
Atributos:
Raça: Siamês
Nome: Sansão
Peso: 4 kilos
Métodos:
Miar
Comer
Dormir
Programação Orientada à Objeto
Podemos também classificar da seguinte forma:
Atributos e Métodos.
Prof. Simone Gama Progr. Orientado a Objetos em Java 19
Gato
Atributos:
Raça: Siamês
Nome: Sansão
Peso: 4 kilos
Métodos:
Miar
Comer
Dormir
Humano
Atributos:
Nome: Mário
Peso: 75 kilos
Métodos:
Andar
Comer
Dormir
Programação Orientada à Objeto
Podemos também classificar da seguinte forma:
Atributos e Métodos.
Prof. Simone Gama Progr. Orientado a Objetos em Java 20
Conta Bancária
Atributos:
Nome: Carlos
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Métodos:
Saque
Transferência
Depósito
Programação Orientada à Objeto
Exercício Prático: Cite 3 atributos e 3 métodos de um estudante.
Prof. Simone Gama Progr. Orientado a Objetos em Java 21
Programação Orientada à Objeto
Classes
Uma classe é um conjunto de características e
comportamentos que definem o conjunto de objetos
pertencentes à essa classe.
...ou seja, conjunto de objetos com características semelhantes e
comportamentos em comum.
Prof. Simone Gama Progr. Orientado a Objetos em Java 22
Programação Orientada à Objeto
Classes
As classes de programação são projetos de um objeto, aonde têm
características e comportamentos, ou seja, permite armazenar
propriedades e métodos dentro dela.
Para construir uma classe é preciso utilizar o pilar da abstração.
Uma classe geralmente representa um substantivo, por exemplo: uma
pessoa, um lugar, algo que seja “abstrato”.
Prof. Simone Gama Progr. Orientado a Objetos em Java 23
Programação Orientada à Objeto
Classe – Exemplo 1
Prof. Simone Gama Progr. Orientado a Objetos em Java 24
Classe Gato
Objetos da Classe
Programação Orientada à Objeto
Classe – Exemplo 1
Prof. Simone Gama Progr. Orientado a Objetos em Java 25
Classe Gato
Objetos da Classe
Programação Orientada à Objeto
Classe – Exemplo 1
Prof. Simone Gama Progr. Orientado a Objetos em Java 26
Classe Gato
Objetos da Classe
Programação Orientada à Objeto
Classe – Exemplo 2
Prof. Simone Gama Progr. Orientado a Objetos em Java 27
Classe Conta
bancária
Objetos da Classe
Nome: Maria
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Programação Orientada à Objeto
Classe – Exemplo 2
Prof. Simone Gama Progr. Orientado a Objetos em Java 28
Classe Conta
bancária
Objetos da Classe
Nome: Maria
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Nome: João
Agência: 3976
Nº da Conta: 0007845
Saldo: R$ 8500,00
Programação Orientada à Objeto
Classe – Exemplo 2
Prof. Simone Gama Progr. Orientado a Objetos em Java 29
Classe Conta
bancária
Objetos da Classe
Nome: Maria
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Nome: João
Agência: 3976
Nº da Conta: 0007845
Saldo: R$ 8500,00
Nome: Jéssica
Agência: 3806
Nº da Conta: 0017845
Saldo: R$ 5500,00
Características das Classes
Caraterísticas das Classes
• Toda classe possui um nome;
• Elas possuem visibilidade: pública (public), privada (private) ou
protegida (protected);
• Possuem membros como: Características e Ações.
Prof. Simone Gama Progr. Orientado a Objetos em Java 30
Implementando Classes e Objetos
Vamos começar pelo básico: Classe Gato do nosso exemplo.
Prof. Simone Gama Progr. Orientado a Objetos em Java 31
Classe Gatos
Objetosda Classe
Estrutura
Foi criado um project aulaclasseobjetos e uma classe
Aula4classeobjetos.java.
Prof. Simone Gama Progr. Orientado a Objetos em Java 32
Gato
Atributos:
Raça: Siamês
Nome: Sansão
Peso: 4 kilos
Métodos:
Miar
Comer
Dormir
Características das Classes
Declarando as Classes – Exemplo 1: Gatos
Para criar uma classe basta declarar a visibilidade + digitar a
palavra reservada class + NomeDaClasse + abrir e fechar chaves {
}.
Prof. Simone Gama Progr. Orientado a Objetos em Java 33
A classe Gatos foi criada dentro da
class Aula4classeobjetos!
Características das Classes
Declarando as Classes – Exemplo 1: Gatos
Para criar uma classe basta declarar a visibilidade + digitar a
palavra reservada class + NomeDaClasse + abrir e fechar chaves {
}.
Prof. Simone Gama Progr. Orientado a Objetos em Java 34
Classes públicas
Características das Classes - Modificadores
Classes Públicas - public
Uma declaração com o modificador public pode ser acessada
de qualquer lugar e por qualquer entidade que possa
visualizar a classe a que ela pertence.
Prof. Simone Gama Progr. Orientado a Objetos em Java 35
Características das Classes
Declarando as Classes – Exemplo 1: Gatos
Para criar uma classe basta declarar a visibilidade + digitar a
palavra reservada class + NomeDaClasse + abrir e fechar chaves {
}.
Prof. Simone Gama Progr. Orientado a Objetos em Java 36
Características das Classes
Declarando as Classes – Exemplo 1: Gatos
Para criar uma classe basta declarar a visibilidade + digitar a
palavra reservada class + NomeDaClasse + abrir e fechar chaves {
}.
Prof. Simone Gama Progr. Orientado a Objetos em Java 37
Características das Classes
Declarando as Classes
Para criar uma classe basta declarar a visibilidade + digitar a
palavra reservada class + NomeDaClasse + abrir e fechar chaves {
}.
Prof. Simone Gama Progr. Orientado a Objetos em Java 38
Características das Classes
Prof. Simone Gama Progr. Orientado a Objetos em Java 39
Declarando as Classes
Para criar uma classe basta declarar a visibilidade + digitar a
palavra reservada class + NomeDaClasse + abrir e fechar chaves {
}.
Características das Classes
Declarando as Classes
Para criar uma classe basta declarar a visibilidade + digitar a
palavra reservada class + NomeDaClasse + abrir e fechar chaves {
}.
Prof. Simone Gama Progr. Orientado a Objetos em Java 40
Características das Classes
Prof. Simone Gama Progr. Orientado a Objetos em Java 41
Classes Estáticas
Declarando as Classes
Para criar uma classe basta declarar a visibilidade + digitar a
palavra reservada class + NomeDaClasse + abrir e fechar chaves {
}.
Características das Classes
Classes Estáticas
O modificador static é usado para modificar a relação de
alguma entidade (classe, método, atributo) com a classe que
a possui.
Geralmente o modificador quer dizer que a entidade
pertence, ou tem acesso, à classe a que pertence mas não
às instâncias desta classe.
Prof. Simone Gama Progr. Orientado a Objetos em Java 42
Implementando Classes e Objetos
Vamos começar pelo básico: Classe Gato do nosso exemplo.
Prof. Simone Gama Progr. Orientado a Objetos em Java 43
Gato
Atributos:
Raça: Siamês
Nome: Sansão
Peso: 4 kilos
Métodos:
Miar
Comer
Dormir
Implementando Classes e Objetos
Prof. Simone Gama Progr. Orientado a Objetos em Java 44
Gato
Atributos:
Raça: Siamês
Nome: Sansão
Peso: 4 kilos
Métodos:
Miar
Comer
Dormir
Vamos começar pelo básico: Classe Gato do nosso exemplo.
Implementando Classes e Objetos
Agora vamos criar os objetos...
Esse processo é conhecido como instanciar. Então
vamos agora criar três instâncias para a Classe Gatos.
Prof. Simone Gama Progr. Orientado a Objetos em Java 45
Classe Gatos
Objetos da Classe
Instanciando a Classe Gatos
Prof. Simone Gama Progr. Orientado a Objetos em Java 46
Implementando Classes e Objetos
Exercício 3. Implemente as classes e objetos dos
exemplos dados:
Prof. Simone Gama Progr. Orientado a Objetos em Java 47
a) Classe Conta bancária
Nome: Maria
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Nome: João
Agência: 3976
Nº da Conta: 78450
Saldo: R$ 8500,00
Nome: Jéssica
Agência: 3806
Nº da Conta: 17845
Saldo: R$ 5500,00
b) Classe Pessoa
Nome: Carlos
Idade: 39
Peso: 72 kg
Nome: Juliana
Idade: 23
Peso: 75 kg
Nome: Ericka
Idade: 15
Peso: 60 kg
Método: Saque e Transferência Método: Andar e Dormir
Implementando Classes e Objetos
Bibliografia
• SEBESTA, Roberto. Conceitos de Linguagem de Programação. 4ª e 5ª
Edições. Editora Bookman, 2000 e 2003.
• Lopes, Anita. Introdução à programação: 500 algoritmos resolvidos.
Editora Campus 2002.
• Deitel, Paul; Deitel, Harvey. Java: Como Programar. 10ª Edição. São
Paulo: Pearson, 2016.
Prof. Simone Gama Progr. Orientado a Objetos em Java 48