O documento apresenta os conceitos fundamentais de programação orientada a objetos em Java, incluindo classes, objetos, atributos, métodos e construtores. A classe Conta é usada como exemplo para ilustrar esses conceitos, definindo seus atributos como número, nome, saldo e limite, e alguns de seus métodos como sacar, depositar e transferir.
Boas práticas de programação com Object Calisthenics
POO - Aula 04 - Introdução a classes e objetos
1. Universidade Federal de Sergipe
Departamento de Computação
Programação Orientada a Objetos
Introdução a Classes e Objetos
Felipe J. R. Vieira
Última Atualização em Outubro de 2011
2. Sumário
➢
Introdução;
➢ Classes, objetos, métodos e atributos; e
➢
Construtores.
103403 – Programação Orientada a Objetos 2
3. Recapitulando
103403 – Programação Orientada a Objetos 3
4. Introdução
➢
Orientação a objetos é uma maneira de
programar que ajuda na organização e resolve
muitos problemas enfrentados pela
programação procedural;
Procedimento1
Dado1
Procedimento2
Dado2
Dado3
Dado4 Procedimento3
Procedimento4
Programação Procedural
103403 – Programação Orientada a Objetos 4
5. Introdução
➢ A responsabilidade de realizar as operações
nos dados está espalhada por todo o código;
➢
É interessante poder concentrar essa
responsabilidade em um lugar só, para não ter
chances de esquecer isso, ou de haver
inconsistência.
103403 – Programação Orientada a Objetos 5
6. Introdução
103403 – Programação Orientada a Objetos 6
7. Introdução
➢
Para você dirigir um carro, alguém tem de
projetar o carro;
➢No projeto do carro inclui o projeto do pedal
acelerador para aumentar a velocidade do
carro;
➢
O pedal oculta os complexos mecanismos que
realmente fazem o carro ir mais rápido;
➢ Isso permite que as pessoas com pouco ou
nenhum conhecimento de como os motores
funcionam dirijam um carro facilmente.
103403 – Programação Orientada a Objetos 7
8. Introdução
➢
Você não pode guiar os desenhos de
engenharia de um carro. Antes ele deve ser
construído a partir dos desenhos de engenharia
que o descrevem;
➢
Em Java, primeiro criamos uma unidade de
programa chamada classe, e assim como não se
pode dirigir um desenho de engenharia de um
carro, não se pode usar uma classe sem antes
ela ser construída;
➢ Uma classe construída é um objeto.
103403 – Programação Orientada a Objetos 8
9. Introdução
➢ Ao dirigir um carro, o ato de pressionar o
acelerador envia uma mensagem para o carro
realizar uma tarefa;
➢
De maneira semelhante, envia-se mensagens
para um objeto. Cada mensagem é conhecida
como uma chamada de método que instrui um
objeto a realizar uma tarefa.
103403 – Programação Orientada a Objetos 9
10. Introdução
103403 – Programação Orientada a Objetos 10
11. Introdução
➢ Além das capacidades de um carro, ele
também tem muitos atributos, como cor,
número de portas, quantidade de gasolina,
velocidade atual e total de quilômetros
percorridos;
➢
De maneira semelhante, um objeto tem
atributos que são portados com o objeto quando
ele é utilizado em um programa.
103403 – Programação Orientada a Objetos 11
12. Introdução
➢Os atributos são especificados pelas variáveis
de instância da classe.
➢ Para melhor entendimento, vamos estudar um
sistema bancário. Uma entidade muito
importante neste sistema é a conta.
103403 – Programação Orientada a Objetos 12
13. Classe
➢
Quais são as informações importantes para
uma conta?
103403 – Programação Orientada a Objetos 13
14. Classe
➢
Quais são as informações importantes para
uma conta?
• Número da conta;
•
Nome do dono;
• Saldo;
• Limite.
103403 – Programação Orientada a Objetos 14
15. Classe
➢
Quais são as funcionalidades de uma conta?
103403 – Programação Orientada a Objetos 15
16. Classe
➢
Quais são as funcionalidades de uma conta?
• Sacar;
•
Depositar;
• Imprimir o nome do dono;
• Devolver o saldo atual;
•
Transferir uma quantidade x para uma outra conta;
• Devolver o tipo da conta.
103403 – Programação Orientada a Objetos 16
17. Atributos
➢ Declarando a classe e os atributos:
class Conta{
int num;
String nome;
double saldo;
Double limite;
//Métodos
}
103403 – Programação Orientada a Objetos 17
19. Construtores
➢ Declarando os métodos:
class Programa{
public static void main(String[] args){
Conta minhaConta;
MinhaConta = new Conta();
}
}
103403 – Programação Orientada a Objetos 19
20. Prática
➢ Implementar alguns métodos da classe conta.
103403 – Programação Orientada a Objetos 20
21. Referências
➢ Java: Como Programar 6ª Edição.
➢ Material da Caelum.
103403 – Programação Orientada a Objetos 21