Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

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 −

Neste capítulo, veremos os conceitos - Classes e Objetos.

Objetos em Java


Vamos agora olhar profundamente para o que são objetos. Se considerarmos o mundo real, podemos encontrar muitos objetos ao nosso redor, carros, cachorros, 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 terão características muito semelhantes.

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.

Assim, 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.

Aulas em Java


Uma classe é um projeto a partir do qual objetos individuais são criados.

Segue um exemplo de uma aula.

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.

Uma classe pode ter qualquer número de métodos para acessar o valor de vários tipos de métodos. No exemplo acima, latindo(), com fome() e dormindo() 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 tem 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á invocado. A regra principal 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 suporta Classes Singleton onde 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 planos para objetos. Então, basicamente, um objeto é criado a partir de uma classe. Em Java, a palavra-chave new é usada para criar novos objetos.

Existem três etapas ao criar um objeto de uma classe -

A seguir está um exemplo de criação de um objeto -

Exemplo

Demonstração ao vivo
public class Puppy {
   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Passed Name is :" + name );
   }

   public static void main(String []args) {
      // Following statement would create an object myPuppy
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

Se compilarmos e executarmos o programa acima, ele produzirá o seguinte resultado -

Saída

Passed Name is :tommy

Acessando variáveis ​​e métodos de instância


Variáveis ​​e métodos de instância são acessados ​​por meio de objetos criados. Para acessar uma variável de instância, a seguir está o caminho totalmente qualificado -
/* First create an object */
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();

Exemplo


Este exemplo explica como acessar variáveis ​​de instância e métodos de uma classe.
Demonstração ao vivo
public class Puppy {
   int puppyAge;

   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Name chosen is :" + name );
   }

   public void setAge( int age ) {
      puppyAge = age;
   }

   public int getAge( ) {
      System.out.println("Puppy's age is :" + puppyAge );
      return puppyAge;
   }

   public static void main(String []args) {
      /* Object creation */
      Puppy myPuppy = new Puppy( "tommy" );

      /* Call class method to set puppy's age */
      myPuppy.setAge( 2 );

      /* Call another class method to get puppy's age */
      myPuppy.getAge( );

      /* You can access instance variable as follows as well */
      System.out.println("Variable Value :" + myPuppy.puppyAge );
   }
}

Se compilarmos e executarmos o programa acima, ele produzirá o seguinte resultado -

Saída

Name chosen is :tommy
Puppy's age is :2
Variable Value :2

Regras de declaração do arquivo de origem


Como a última parte desta seção, vamos agora examinar as regras de declaração do arquivo de origem. Essas regras são essenciais ao declarar classes, import declarações e pacote instruções em um 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 de 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 escritas, portanto, categorizar essas classes é uma obrigação e facilita muito a vida.

Declarações de importação


Em Java, se for fornecido um nome totalmente qualificado, que inclui o pacote e o nome da classe, o compilador poderá localizar facilmente o código-fonte ou as classes. A instrução de importação é uma maneira de fornecer o local adequado para o compilador encontrar essa classe específica.

Por exemplo, a linha a seguir pediria 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 seguinte código. Lembre-se 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 explicitamente definido, que recebe um parâmetro.

Exemplo

import java.io.*;
public class Employee {

   String name;
   int age;
   String designation;
   double salary;

   // This is the constructor of the class Employee
   public Employee(String name) {
      this.name = name;
   }

   // Assign the age of the Employee  to the variable age.
   public void empAge(int empAge) {
      age = empAge;
   }

   /* Assign the designation to the variable designation.*/
   public void empDesignation(String empDesig) {
      designation = empDesig;
   }

   /* Assign the salary to the variable	salary.*/
   public void empSalary(double empSalary) {
      salary = empSalary;
   }

   /* Print the Employee details */
   public void printEmployee() {
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

Conforme mencionado anteriormente neste tutorial, o processamento começa a partir do método main. Portanto, para que possamos executar esta classe Employee deve haver um método main e objetos devem ser criados. Estaremos criando uma classe separada para essas tarefas.

A seguir está o EmployeeTest class, que cria duas instâncias da classe Employee e invoca os métodos para cada objeto para atribuir valores para cada variável.

Salve o código a seguir no arquivo EmployeeTest.java.
import java.io.*;
public class EmployeeTest {

   public static void main(String args[]) {
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

Agora, compile ambas as classes e execute EmployeeTest para ver o resultado da seguinte forma -

Saída

C:\> javac Employee.java
C:\> javac EmployeeTest.java
C:\> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0

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.

Java

  1. Classe e objeto C#
  2. Classes e objetos C++
  3. Função de amigo C++ e classes de amigo
  4. Variáveis ​​e literais Java
  5. Classe e objetos Java
  6. Palavra-chave final Java
  7. Java instanceof Operator
  8. Classe abstrata Java e métodos abstratos
  9. Java aninhado e classe interna
  10. Classe anônima Java