Java – Objeto e classes
Java é uma linguagem orientada a objetos. Como uma linguagem que possui o recurso Orientado a Objetos, Java suporta os seguintes conceitos fundamentais –
- Polimorfismo
- Herança
- Encapsulamento
- Abstração
- Classes
- Objetos
- Instância
- Método
- Passagem de mensagens
Neste capítulo, examinaremos os conceitos – Classes e objetos.
-
Objeto – os objetos têm estados e comportamentos. Exemplo: Um cão tem estados – cor, nome, raça e também comportamentos – abanar o rabo, latir, comer. Um objeto é uma instância de uma classe.
-
Classe – Uma classe pode ser definida como um modelo / projeto que descreve o comportamento / estado que o objeto de seu tipo suporta.
Objetos em Java
Vamos agora examinar profundamente o que são objetos. Se considerarmos o mundo real, podemos encontrar muitos objetos ao nosso redor, carros, cães, humanos, etc. Todos esses objetos têm um estado e um comportamento.
Se considerarmos um cachorro, então seu estado é – nome, raça, cor e o comportamento é – latir, abanar o rabo, correr.
Se você comparar o objeto de software com um objeto do mundo real, eles têm características muito semelhantes.
Os objetos de software também têm um estado e um comportamento. O estado de um objeto de software é armazenado em campos e o comportamento é mostrado por meio de métodos.
Portanto, no desenvolvimento de software, os métodos operam no estado interno de um objeto e a comunicação objeto a objeto é feita por meio de métodos .
Classes em Java
Uma classe é um projeto a partir do qual os objetos individuais são criados.
A seguir está um exemplo de uma classe.
Exemplo
public class Dog { String breed; int age; String color; void barking() { } void hungry() { } void sleeping() { }}
Uma classe pode conter qualquer um dos seguintes tipos de variáveis.
-
Variáveis locais – Variáveis definidos dentro dos métodos, construtores ou blocos são chamados de variáveis locais. A variável será declarada e inicializada dentro do método e a variável será destruída quando o método for concluído.
-
Variáveis de instância – Variáveis de instância são variáveis dentro de uma classe, mas fora de qualquer método. Essas variáveis são inicializadas quando a classe é instanciada. Variáveis de instância podem ser acessadas de dentro de qualquer método, construtor ou blocos dessa cláusula específica ss.
-
Variáveis de classe – variáveis de classe são variáveis declaradas dentro de uma classe, fora de qualquer método, com a palavra-chave estática.
Uma classe pode ter qualquer número de métodos para acessar o valor de vários tipos de métodos. No exemplo acima, barking () ,gry () e sleeping () são métodos.
A seguir estão alguns dos tópicos importantes que precisam ser discutidos ao examinar as classes da linguagem Java.
Construtores
Ao discutir sobre classes, um dos subtópicos mais importantes seriam os construtores. Cada classe possui um construtor. Se não escrevermos explicitamente um construtor para uma classe, o compilador Java construirá um construtor padrão para essa classe.
Cada vez que um novo objeto é criado, pelo menos um construtor será chamado. A principal regra dos construtores é que eles devem ter o mesmo nome da classe. Uma classe pode ter mais de um construtor.
A seguir está um exemplo de um construtor –
Exemplo
public class Puppy { public Puppy() { } public Puppy(String name) { // This constructor has one parameter, name. }}
Java também oferece suporte a classes singleton, nas quais você seria capaz de criar apenas uma instância de uma classe.
Observação – temos dois tipos diferentes de construtores. Discutiremos os construtores em detalhes nos capítulos subsequentes.
Criando um objeto
Como mencionado anteriormente, uma classe fornece os projetos para os objetos. Então, basicamente, um objeto é criado a partir de uma classe. Em Java, a nova palavra-chave é usada para criar novos objetos.
Existem três etapas ao criar um objeto de uma classe –
-
Declaração – Uma declaração de variável com um nome de variável com um tipo de objeto.
-
Instanciação – A palavra-chave “nova” é usada para criar o objeto.
-
Inicialização – A palavra-chave “novo” é seguida por uma chamada para um construtor. Esta chamada inicializa o novo objeto.
A seguir está um exemplo de criação de um objeto –
Exemplo
Se compilarmos e execute o programa acima, então ele produzirá o seguinte resultado –
Saída
Passed Name is :tommy
Acessando métodos e variáveis de instância
Variáveis de instância e métodos são acessados por meio de objetos criados. Para acessar uma variável de instância, a seguir está o caminho totalmente qualificado –
Exemplo
Este exemplo explica como acessar variáveis de instância e métodos de uma classe.
Se compilarmos e executarmos o programa acima, ele produzirá o seguinte resultado –
Saída
Name chosen is :tommyPuppy"s age is :2Variable Value :2
Regras de declaração do arquivo fonte
Como a última parte desta seção, vamos agora dar uma olhada nas regras de declaração do arquivo fonte. Essas regras são essenciais ao declarar classes, instruções de importação e instruções de pacote em um arquivo fonte.
-
Só pode haver uma classe pública por arquivo de origem.
-
Um arquivo de origem pode ter várias classes não públicas.
-
O nome da classe pública deve ser o nome do arquivo de origem também, que deve ser anexado por .java no final. Por exemplo: o nome da classe é public class Employee {} então o arquivo de origem deve ser como Employee.java.
-
Se a classe for definida dentro de um pacote, a instrução do pacote deve ser a primeira instrução no arquivo de origem. p>
-
Se as instruções de importação estiverem presentes, elas devem ser escritas entre a instrução do pacote e o declaração de classe. Se não houver instruções de pacote, a instrução import deve ser a primeira linha no arquivo de origem.
-
As instruções de importação e pacote implicarão em todas as classes presentes no arquivo de origem. . Não é possível declarar diferentes instruções de importação e / ou pacote para diferentes classes no arquivo de origem.
As classes têm vários níveis de acesso e existem diferentes tipos de classes; classes abstratas, classes finais, etc. Explicaremos sobre tudo isso no capítulo sobre modificadores de acesso.
Além dos tipos de classes mencionados acima, Java também possui algumas classes especiais chamadas classes internas e classes anônimas.
Pacote Java
Em palavras simples, é uma forma de categorizar as classes e interfaces. Ao desenvolver aplicativos em Java, centenas de classes e interfaces serão gravadas, portanto, categorizar essas classes é uma obrigação e torna a vida muito mais fácil.
Instruções de importação
Em Java, se um nome totalmente qualificado, que inclui o pacote e o nome da classe é fornecido, então o compilador pode localizar facilmente o código-fonte ou as classes. A instrução de importação é uma forma de fornecer a localização adequada para o compilador encontrar essa classe em particular.
Por exemplo, a linha a seguir solicitaria ao compilador para carregar todas as classes disponíveis no diretório java_installation / java / io –
import java.io.*;
Um estudo de caso simples
Para nosso estudo de caso, criaremos duas classes. Eles são Employee e EmployeeTest.
Primeiro, abra o bloco de notas e adicione o código a seguir. Lembre-se de que esta é a classe Employee e a classe é uma classe pública. Agora, salve este arquivo de origem com o nome Employee.java.
A classe Employee tem quatro variáveis de instância – nome, idade, designação e salário. A classe tem um construtor definido explicitamente, que leva um parâmetro.
Exemplo
Conforme mencionado anteriormente neste tutorial, o processamento começa a partir do método principal. Portanto, para que possamos executar essa classe Employee, deve haver um método principal e os objetos devem ser criados. Estaremos criando uma classe separada para essas tarefas.
A seguir está a classe EmployeeTest, que cria duas instâncias da classe Employee e invoca os métodos de cada objeto para atribuir valores a cada variável.
Salve o seguinte código no arquivo EmployeeTest.java.
Agora, compile ambas as classes e execute o EmployeeTest para ver o resultado da seguinte maneira –
Saída
O que vem a seguir?
Na próxima sessão, discutiremos os tipos de dados básicos em Java e como eles podem ser usados no desenvolvimento de aplicativos Java.