2. Revisão
Classe
São abstrações de um conjunto de objetos
similares da vida real.
Automóvel, Cliente, Empregado, Pessoa
Classificação
Project MARK - Orientação a Obejtos com Java 2
7. Exemplo 02
Project MARK - Orientação a Obejtos com Java 7
class Person {
String name;
String cpf;
Date birthDate;
}
8. Revisão
Métodos
Denotam ações que os objetos podem executar.
Geralmente atuam sobre atributos
Processamento auxiliar
Project MARK - Orientação a Obejtos com Java 8
9. Revisão
Métodos – Classe Pessoa
isCpfValid
getNome
calculateAge
Project MARK - Orientação a Obejtos com Java 9
10. Exemplo 03
Project MARK - Orientação a Obejtos com Java 10
class Person {
String name;
String cpf;
Date birthDate;
boolean hasName() {
return this.name.isEmpty();
}
}
13. Exemplo 03
Project MARK - Orientação a Obejtos com Java 13
class Person {
private String name;
public String getName() {
return this.name
}
public void setName(String name) {
this.name = name
}
}
14. Conceituação
Protected
Entre private e public
Atributos e métodos acessíveis apenas dentro do
mesmo pacote.
Project MARK - Orientação a Obejtos com Java 14
15. Exemplo 03
Project MARK - Orientação a Obejtos com Java 15
package com.fortaleza.users
class Person {
protected String cpf;
protected String name;
}
16. Conceituação
Public
É o nível menos restritivo de visibilidade
Atributos e métodos acessíveis a qualquer outra
classe
Comportamento padrão do Java
Project MARK - Orientação a Obejtos com Java 16
17. Exemplo 03
Project MARK - Orientação a Obejtos com Java 17
class Person {
String cpf;
String name;
}
18. Boas Práticas
Encapsulamento
Não se deve declarar atributos como public
Apenas métodos interessantes para o usuário
final devem ser declarados como public
Project MARK - Orientação a Obejtos com Java 18
27. Exemplo 03
Project MARK - Orientação a Obejtos com Java 27
class Person {
String name;
public Person(String name) {
this.name = name;
}
}
28. Boas Práticas
Construtor
Ao criar um construtor customizado é necessário
fornecer explicitamente o construtor-padrão.
Project MARK - Orientação a Obejtos com Java 28
29. Exemplo 03
Project MARK - Orientação a Obejtos com Java 29
class Person {
String name;
public Person() {
}
public Person(String name) {
this.name = name;
}
}
32. Conceituação
Métodos
Métodos, em Java, são pequenos pedaços de
código que realizam uma tarefa bem específica.
Estrutura básica C-like
Project MARK - Orientação a Obejtos com Java 32
33. Exemplo 03
Project MARK - Orientação a Obejtos com Java 33
class Person {
...
public void showGreetings(String name) {
System.out.println(
“Hello, ” + name
);
}
}
35. Exemplo 03
Project MARK - Orientação a Obejtos com Java 35
class Person {
...
public void showGreetings(String name) {
System.out.println(
“Hello, ” + name
);
}
}
36. Exemplo 03
Project MARK - Orientação a Obejtos com Java 36
Person p = new Person();
p.showGreetings(“Marcos”);
----------------------------------
Hello, Marcos
37. Conceituação
Métodos Estáticos
São métodos acessados diretamente pela própria
classe
Não há necessidade de instanciação.
Project MARK - Orientação a Obejtos com Java 37
38. Conceituação
Métodos Estáticos
Não acessam variáveis de instância no corpo do
método.
Só acessam variáveis estáticas e os parâmetros
dos métodos.
Project MARK - Orientação a Obejtos com Java 38
39. Exemplo 03
Project MARK - Orientação a Obejtos com Java 39
class Person {
...
public void showGreetings(String name) {
System.out.println(
“Hello, ” + name
);
}
}
40. Exemplo 03
Project MARK - Orientação a Obejtos com Java 40
Person.showGreetings(“Marcos”);
----------------------------------
Hello, Marcos
41. Fonte de Bugs
Métodos Estáticos
Assim como as variáveis, métodos estáticos não
são herdados.
Project MARK - Orientação a Obejtos com Java 41