Fala, meus consagrados! Beleza?
Os atributos definem o estado de um objeto, enquanto os métodos definem seu comportamento. São fundamentais na orientação a objetos, pois ajudam a modelar e representar entidades do mundo real de uma maneira estruturada e encapsulada:
- Fornecendo um estado para os objetos; e
- Definindo suas características distintas.
Os métodos agem como a interface através da qual os objetos podem interagir uns com os outros e com o mundo externo. Ao encapsular ações específicas que um objeto pode realizar, os métodos permitem a abstração e a modularização do código, facilitando a manutenção, a extensibilidade e a reusabilidade do software.
Para declarar um atributo em uma classe em Java, usamos as seguintes informações:
Modificadores de acesso de nível de membro:
- private;
- public;
- protected; e
- default.
- Podemos aplicar outros modificadores, tais como:
- final:
- Torna um atributo imutável (“constante” em Java); e
- static:
- Torna um atributo um atributo de classe.
Após isso, aplicamos o tipo do atributo seguido do seu nome.
Exemplos:
// Atributo de instância privado.
private String nome;
// Atributo estático público.
public static String NOME_CLASSE = “Professor”;
// Atributo de instância protegido e final.
protected final String sobrenome = “Araújo”;
Falando um pouco mais dos atributos estáticos, também chamados de variáveis de classe, eles possuem o modificador static. Esse modificador informa ao compilador que haverá apenas uma cópia da variável, não importando quantas instâncias a classe tenha
Esses atributos são manipulados a partir do nome da classe, sem a necessidade de criar uma instância dela
Exemplo:
public class Classe {
public static final String NOME_CLASSE = “Professor”;
}
Para acessar o atributo estático acima, usamos o nome da classe:
System.out.println(Classe.NOME_CLASSE);
Os atributos estáticos possuem informações da classe e não de suas instâncias. Então haverá apenas uma cópia dessas informações, não importando quantos objetos da classe existam.
Para declarar um método em uma classe em Java, usamos as seguintes informações:
Modificadores de acesso de nível de membro:
- private;
- public;
- protected; e
- default.
Podemos aplicar outros modificadores, tais como:
- final:
- Torna um método impossível de ser sobrescrito;
- Um método sobrescrito é um método de uma superclasse que foi herdado por uma subclasse, mas a subclasse a reimplementou, colocando um código específico;
- abstract:
- Indica um método que é declarado sem uma implementação;
- static:
- Torna um método um metódo de classe, que não opera em objetos;
Um método pode possuir um tipo de retorno, caso retorne algum valor. Esse tipo de retorno é o tipo do valor retornado pelo método pela declaração return. Se o método não retornar nada, usa-se void.
Após o tipo de retorno ou uso do void, conforme o caso, temos o nome do método. A sua nomeação segue as regras de nomeação de variáveis.
Podemos citar uma lista de parâmetros que é envolvida por parênteses ().
Um método pode lançar exceções e, se isso acontecer, podemos citar uma lista de exceções que poderão ser lançadas.
Um método pode ter, além de seus parâmetros, a declaração de variáveis locais, que são declaradas dentro do corpo do método.
Declaração de um método.
Finalmente, todo o código de um método, ou seja, seu corpo do método, é envolvido por chaves {}.
Exemplos:
// Métodos de instância públicos.
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
// Métodos estáticos.
public static int somar(int num1, int num2) {
return num1 + num2;
}
public static int subtrair(int num1, int num2) {
return num1 – num2;
}
Um método estático é aquele que pertence à classe, e não a uma instância específica da classe. Ele é marcado com o modificador static.
Um método estático, por ser uma implementação para uma classe e não para suas instâncias, pode ser chamado sem precisar criar um objeto da classe. Um uso comum para métodos estáticos é realizar operações ou acessar dados que são comuns a todos os objetos da classe, ou fornecer utilidades que são relevantes para a classe, mas que não dependem do estado de qualquer instância específica.
Exemplo:
public class Calculadora {
// Método estático para somar dois números
public static int somar(int num1, int num2) {
return num1 + num2;
}
// Método estático para subtrair dois números
public static int subtrair(int num1, int num2) {
return num1 – num2;
}
}
Neste exemplo, a classe Calculadora tem dois métodos estáticos: somar e subtrair. Esses métodos podem ser chamados diretamente usando o nome da classe, sem a necessidade de criar uma instância de Calculadora. Por exemplo:
int soma = Calculadora.somar(5, 3);
int subtracao = Calculadora.subtrair(10, 4);
// Saída: Resultado da soma: 8
System.out.println(“Resultado da soma: ” + soma);
// Saída: Resultado da subtração: 6
System.out.println(“Resultado da subtração: ” + subtracao);
Métodos estáticos são úteis quando você tem operações que não alteram o estado de um objeto, mas ainda estão relacionadas à classe de alguma forma. É importante notar que métodos estáticos não podem acessar membros de instância (não estáticos) diretamente, pois eles não requerem a criação de um objeto da classe para serem chamados.
Podemos ter em uma mesma classe métodos com mesmos nomes, porém, com número e tipos de parâmetros diferentes. Eles são chamados de métodos sobrecarregados.
Exemplo:
public class Escrita {
// Método sobrecarregado.
public void escrever(int x) {
System.out.println(“int: ” + x);
}
// Método sobrecarregado.
public void escrever(double x) {
System.out.println(“double: ” + x);
}
}
Para utilizarmos essa classe e seus métodos, temos o seguinte código:
public class Main {
public static void main(String[] args) {
Escrita vo = new Escrita();
// Vai imprimir: int: 15
vo.escrita(15);
// Vai imprimir: double: 15.7
vo.escrita(15.7);
}
}
Como há dois métodos com mesmos nomes, a escolha de qual será chamado se dará pela lista de parâmetro:
O primeiro método escrever possui um parâmetro do tipo int; e
A segunda versão do método possui um parâmetro do tipo double.
Espero que tenham gostado!
Forte abraço e até a próxima jornada!
_________________________
Professor Rogerão Araújo
Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil? Clique nos links abaixo:
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos. Clique no link abaixo e inscreva-se:
Participe da conversa