Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos

Clases

Hasta ahora los tipos de datos que has usado — números, cadenas, arrays y demás — venían todos incorporados en Raku. La programación orientada a objetos te permite definir tipos propios, llamados clases, y crear valores de esos tipos, llamados objetos.

Una clase se define con la palabra clave class, seguida de un nombre y un bloque:

class Dog {
}

Esta clase Dog está vacía por ahora, pero ya es un tipo nuevo. Para crear un objeto de la clase — una instancia — llama al método new sobre el nombre de la clase:

class Dog {
}

my $rex = Dog.new;
say $rex; # Dog.new

Ahora la variable $rex contiene un objeto Dog. Cada llamada a new crea un objeto distinto:

my $rex = Dog.new;
my $fido = Dog.new;

$rex y $fido son dos perros distintos, aunque la clase todavía no tenga contenido. En las secciones siguientes darás a una clase datos propios (los atributos) y comportamiento propio (los métodos). El primer tema examina más de cerca la diferencia entre una clase y sus instancias.

También en esta sección

Práctica

Resuelve 1 cuestionario sobre el contenido de esta sección.

Ejercicios

Esta sección contiene 2 ejercicios. Mira todos los temas de esta sección antes de empezar los ejercicios.

  1. Definido o no
  2. Nombre el tipo

Clases y objetos   |   Objetos de tipo e instancias