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

Métodos

Los atributos dan a un objeto sus datos; los métodos le dan comportamiento. Un método es una subrutina que pertenece a una clase y se llama sobre un objeto. Se declara con la palabra clave method:

class Dog {
    has $.name;

    method bark {
        return $.name ~ ' says Woof!';
    }
}

Llama a un método sobre un objeto usando el punto, igual que a un accesor:

my $rex = Dog.new(name => 'Rex');
say $rex.bark; # Rex says Woof!

Dentro de un método, el objeto sobre el que se llamó está disponible como self. A los atributos se llega a través de sus accesores, escritos $.name, $.age y demás. También funcionan dentro de cadenas interpoladas:

class Dog {
    has $.name;

    method greet {
        "Hello, my name is $.name";
    }
}

say Dog.new(name => 'Rex').greet; # Hello, my name is Rex

Los temas siguientes tratan los atributos privados (ahora que tenemos métodos para usarlos), los métodos que reciben parámetros y los métodos que llaman a otros métodos.

Temas de esta sección

Práctica

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

Ejercicios

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

  1. Un robot que camina
  2. Una palabra invertida
  3. Área del rectángulo
  4. Conversión de temperatura

Solución: Una etiqueta modificable   |   Atributos privados