Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Java - Objeto y Clases

Java es un lenguaje orientado a objetos. Como lenguaje que tiene la característica Orientado a Objetos, Java soporta los siguientes conceptos fundamentales:

En este capítulo, veremos los conceptos - Clases y Objetos.

Objetos en Java

Profundicemos ahora en lo que son los objetos. Si consideramos el mundo real, podemos encontrar muchos objetos a nuestro alrededor, automóviles, perros, humanos, etc. Todos estos objetos tienen un estado y un comportamiento.

Si consideramos un perro, entonces su estado es:nombre, raza, color y el comportamiento es:ladrar, mover la cola, correr.

Si compara el objeto de software con un objeto del mundo real, tienen características muy similares.

Los objetos de software también tienen un estado y un comportamiento. El estado de un objeto de software se almacena en campos y el comportamiento se muestra a través de métodos.

Entonces, en el desarrollo de software, los métodos operan en el estado interno de un objeto y la comunicación de objeto a objeto se realiza a través de métodos.

Clases en Java

Una clase es un modelo a partir del cual se crean objetos individuales.

A continuación se muestra una muestra de una clase.

Ejemplo

public class Dog {
   String breed;
   int age;
   String color;

   void barking() {
   }

   void hungry() {
   }

   void sleeping() {
   }
}

Una clase puede contener cualquiera de los siguientes tipos de variables.

Una clase puede tener cualquier número de métodos para acceder al valor de varios tipos de métodos. En el ejemplo anterior, ladrando(), hambriento() y durmiendo() son métodos.

Los siguientes son algunos de los temas importantes que deben discutirse cuando se analizan las clases del lenguaje Java.

Constructores

Cuando se habla de clases, uno de los subtemas más importantes serían los constructores. Cada clase tiene un constructor. Si no escribimos explícitamente un constructor para una clase, el compilador de Java crea un constructor predeterminado para esa clase.

Cada vez que se crea un nuevo objeto, se invocará al menos un constructor. La regla principal de los constructores es que deben tener el mismo nombre que la clase. Una clase puede tener más de un constructor.

El siguiente es un ejemplo de un constructor −

Ejemplo

public class Puppy {
   public Puppy() {
   }

   public Puppy(String name) {
      // This constructor has one parameter, name.
   }
}

Java también es compatible con las clases Singleton en las que solo podría crear una instancia de una clase.

Nota − Tenemos dos tipos diferentes de constructores. Vamos a discutir los constructores en detalle en los capítulos siguientes.

Crear un objeto

Como se mencionó anteriormente, una clase proporciona los planos para los objetos. Básicamente, un objeto se crea a partir de una clase. En Java, la nueva palabra clave se usa para crear nuevos objetos.

Hay tres pasos al crear un objeto de una clase −

El siguiente es un ejemplo de cómo crear un objeto −

Ejemplo

Demostración en 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" );
   }
}

Si compilamos y ejecutamos el programa anterior, producirá el siguiente resultado −

Salida

Passed Name is :tommy

Acceso a métodos y variables de instancia

Se accede a las variables y métodos de instancia a través de objetos creados. Para acceder a una variable de instancia, la siguiente es la ruta completa −

/* 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();

Ejemplo

Este ejemplo explica cómo acceder a variables de instancia y métodos de una clase.

Demostración en 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 );
   }
}

Si compilamos y ejecutamos el programa anterior, producirá el siguiente resultado −

Salida

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

Reglas de declaración de archivo fuente

Como última parte de esta sección, veamos ahora las reglas de declaración del archivo fuente. Estas reglas son esenciales al declarar clases, importar declaraciones y paquete declaraciones en un archivo fuente.

Las clases tienen varios niveles de acceso y existen diferentes tipos de clases; clases abstractas, clases finales, etc. Explicaremos todo esto en el capítulo de modificadores de acceso.

Además de los tipos de clases mencionados anteriormente, Java también tiene algunas clases especiales llamadas clases internas y clases anónimas.

Paquete Java

En palabras simples, es una forma de categorizar las clases e interfaces. Al desarrollar aplicaciones en Java, se escribirán cientos de clases e interfaces, por lo tanto, categorizar estas clases es imprescindible y facilita mucho la vida.

Importar estados de cuenta

En Java, si se proporciona un nombre totalmente calificado, que incluye el paquete y el nombre de la clase, el compilador puede ubicar fácilmente el código fuente o las clases. La declaración de importación es una forma de proporcionar la ubicación adecuada para que el compilador encuentre esa clase en particular.

Por ejemplo, la siguiente línea le pediría al compilador que cargue todas las clases disponibles en el directorio java_installation/java/io −

import java.io.*;

Un estudio de caso simple

Para nuestro estudio de caso, crearemos dos clases. Son Employee y EmployeeTest.

Primero abra el bloc de notas y agregue el siguiente código. Recuerde que esta es la clase Empleado y la clase es una clase pública. Ahora, guarde este archivo fuente con el nombre Employee.java.

La clase Empleado tiene cuatro variables de instancia:nombre, edad, cargo y salario. La clase tiene un constructor definido explícitamente, que toma un parámetro.

Ejemplo

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);
   }
}

Como se mencionó anteriormente en este tutorial, el procesamiento comienza desde el método principal. Por lo tanto, para que podamos ejecutar esta clase de empleado, debe haber un método principal y deben crearse objetos. Crearemos una clase separada para estas tareas.

El siguiente es el EmployeeTest class, que crea dos instancias de la clase Employee e invoca los métodos de cada objeto para asignar valores a cada variable.

Guarde el siguiente código en el archivo 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();
   }
}

Ahora, compile ambas clases y luego ejecute EmployeeTest para ver el resultado de la siguiente manera −

Salida

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

¿Qué sigue?

En la próxima sesión, discutiremos los tipos de datos básicos en Java y cómo se pueden usar al desarrollar aplicaciones Java.


Java

  1. Clase y objeto de C#
  2. Clases y objetos de C++
  3. Función amiga de C++ y Clases amigas
  4. Variables y literales de Java
  5. Objetos y clases de Java
  6. Palabra clave final de Java
  7. Operador de instancia de Java
  8. Clase abstracta de Java y métodos abstractos
  9. Clase interna y anidada de Java
  10. Clase anónima de Java
  11. Clase única de Java