perl | Objetos en OOP

Perl es un lenguaje de programación orientado a objetos, dinámico y basado en intérpretes . En la programación orientada a objetos, tenemos tres aspectos principales, que son, objeto, clase y métodos. Un objeto es un tipo de datos que se puede llamar específicamente como una instancia de la clase a la que pertenece. Puede ser una colección de variables de datos de diferentes tipos de datos y también una colección de diferentes estructuras de datos. Los métodos son funciones que trabajan sobre estos objetos de la clase.
 
El siguiente es un ejemplo básico para comprender mejor cómo se pueden usar los objetos en Perl:

Primero , necesitamos definir la clase. En Perl se hace construyendo el paquete de la clase. El paquete es una entidad encapsulada que tiene todos los miembros de datos y los métodos de la clase en cuestión.

package Employee;

Aquí, Employee es el nombre de la clase.

La segunda tarea es crear una instancia del paquete (es decir, el objeto). Para esto, necesitamos un constructor. Un constructor es una subrutina en Perl que generalmente recibe el nombre de ‘nuevo’ . Sin embargo, el nombre lo define el usuario, por lo que no se limita a ‘nuevo’.

package Employee;
  
# Constructor with name new
sub new 
{
    my $class = shift;
    my $self = {
                  _serialNum => shift,
                  _firstName => shift,
                  _lastName  => shift,
              };
      
    bless $self, $class;
    return $self;
}

En el constructor estamos definiendo una referencia hash simple $self para diseñar nuestro objeto. Aquí, el objeto tendrá tres valores serialNum, firstName y lastName de un empleado, lo que significa que cada empleado involucrado tendrá su propio conjunto de número de serie, nombre y apellido. La mypalabra clave es un especificador de acceso que localiza $class y $self para que estén dentro del bloque adjunto. shiftLa palabra clave toma el nombre del paquete de la array predeterminada «@_» y lo pasa a la función bless.
blessLa función se utiliza para devolver una referencia que finalmente se convierte en un objeto.
Y al final, el constructor finalmente devolverá la instancia de la clase Empleado (aquí).

Finalmente , la parte principal es cómo inicializar un objeto. Se puede hacer de la siguiente manera:

$object = new Employee(1, "Geeks", "forGeeks");

Aquí, $object es una variable escalar que es una referencia al hash definido en el constructor.

A continuación se muestra el programa de ejemplo para la creación e implementación de Objetos en OOPs:

use strict;
use warnings;
  
# class with the name Employee
package Employee;
  
# constructor with the name new
sub new 
{            
    # shift will take package name 
    # and assign it to variable 'class'
    my $class = shift;    
      
    # defining the hash reference
    my $self = {                         
                _serialNum => shift,
                _firstName => shift,
                _lastName => shift,
               };
      
    # Attaching object with class
    bless $self, $class;
      
    # returning the instance of class Employee
    return $self;                         
}
  
# Object creation of the class
my $object = new Employee(1, "Geeks", "forGeeks");
  
# object here is a hash to a reference
print("$object->{_firstName} \n");             
print("$object->{_serialNum} \n");    
Producción:

Geeks 
1

Un objeto en Perl funciona de la misma manera que en otros lenguajes como C++, Java, etc. El programa anterior muestra el funcionamiento de un objeto en Perl, su creación y su uso en la clase.

Publicación traducida automáticamente

Artículo escrito por soumit1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *