Вы находитесь на странице: 1из 18

Revisão OO - Java

Orientação a Objetos
 Paradigma de Programação;
 A unidade básica de programação em linguagens
orientadas a objetos é a classe;
 Classes definem atributos e métodos comuns a vários
objetos;
 Todo objeto é uma instância de uma classe.
Orientação a Objetos
 Vantagens:
 Reutilização de Código;
 Nível mais elevado de abstração;
 Único Padrão Conceitual;
 Ciclo de vida mais longo para os sistemas;
 Menor custo para desenvolvimento e manutenção de sistemas;
 Segurança.
 Desvantagens:
 Complexidade no aprendizado para desenvolvedores de
linguagens estruturadas;
 Maior esforço na modelagem de um sistema OO do que
estruturado.
Princípios da Programação OO
 Abstração
 Relacionado ao mundo real;
 Encapsulamento
 Ocultar detalhes internos. Ex: Controle Remoto;
 Herança e Polimorfismo
 Capacidade de uma classe herde os atributos da classe pai.
Reutilização de código;
Classes em Java
 Podem ser pensadas como um “molde”;
 Atributos e métodos;
 Instanciação;
 Encapsulamento;
 Herança;
 Polimorfismo
Exemplo Conta Bancária Atributos

Número

Nome

Conta
Bancária
Saldo

Limite
Modificadores de Acesso
 Public: Acessível em toda implementação;

 Protected: Acessível em todas as instâncias da Classe


Pai;

 Private: Acessível apenas a métodos da classe que são


declarados. (Ocultar dados)
Encapsulamento
 Getters e Setters:
Exemplo Conta Bancária Métodos

Sacar

Depositar

Conta
Bancária Verificar
Saldo

Transferir
Métodos
Especificação de uma Conta

Numero: 7652
Nome: João
Classe Saldo: 5.409,78
Instanciação Limite: 1.000,00

Numero: 887
Nome: José Objeto
Especificação de Saldo: 1.100,0
uma conta: Limite: 800,00

Numero: 132
Nome: Maria
Saldo: 1.340,00
Limite: 2.000,00
Definição de uma Classe em Java

Encapsulamento
Instaciação de Classes
 Através da palavra new → Reserva um espaço na
memória.

 Acesso aos atributos:


Herança
 Exemplo: Conta Corrente. É possível criar uma Conta
Corrente com todas as características de Conta Bancária.
 Realizada através de extends:
Herança
Herança
Classes Abstratas e Interface
 Classes Abstratas:
 Superclasse que determina o comportamente de subclasses;
 Possui pelo menos um método abstrato;
 Pode ter métodos implementados;
 Métodos Abstratos:
 Possível definir o comportamento do método na subclasse;
 Interfaces:
 Determina o comportamento da subclasse;
 A subclasse deve sobreescrever todos os métodos da interface;
 Não possui atributos;
 Interfaces e Classes Abstratas não podem ser
instanciadas.
Exercício:
 Implementar um sistema bancário (simplificado) que
permita, sacar, depositar e transferir. Utilizando:

 Encapsulamento
 Herança
 Classes Abstratas ou Interface

 É necessário considerar o saldo atual para fazer as


operações de movimentação. Exemplo: não é possível
realizar o saque senão haver saque

Вам также может понравиться