Class::Plain - Class Syntax for Hash-Based Perl OO

Джерело:
blogs.perl.org

Дата публікації:
23/09/2022 06:08

Постійна адреса новини:
http://www.vsinovyny.com/9336664

Class::Plain - Class Syntax for Hash-Based Perl OO

 

23/09/2022 06:08 // blogs.perl.org

Class::Plain provides a class syntax for the hash-based Perl OO.

Usage

use Class::Plain;
 
class Point {
  field x;
  field y;
   
  method new : common {
    my $self = $class->SUPER::new(@_);
     
    $self->{x} //= 0;
    $self->{y} //= 0;
     
    return $self;
  }
   
  method move {
    my ($x, $y) = @_;
     
    $self->{x} += $x;
    $self->{y} += $y;
  }
   
  method describe {
    print "A point at ($self->{x}, $self->{y})\n";
  }
}
 
my $point = Point->new(x => 5, y => 10);
$point->describe;

Inheritance:

class Point3D : isa(Point) {
  field z;
   
  method new : common {
    my $self = $class->SUPER::new(@_);
     
    $self->{z} //= 0;
     
    return $self;
  }
   
  method move {
    my ($x, $y, $z) = @_;
     
    $self->SUPER::move($x, $y);
    $self->{z} += $z;
  }
   
  method describe {
    print "A point at ($self->{x}, $self->{y}, $self->{z})\n";
  }
}
 
my $point3d = Point3D->new(x => 5, y => 10, z => 15);
$point3d->describe;

See also the Class::Plain document and the cookbook.

Comment of First Release

Class::Plain was released at 2022-09-22.

I'm strongly interested in Perl OO. I study Corinna and Object::Pad now.

 

» Читати повністю

 

« Наступна новина з архіву
Киев предложил россиянам сдаваться
  Попередня новина з архіву
Конгрес США наполягає на постачанні безпілотників Gray Eagle в Україну
»

 

 
© 2025 www.vsinovyny.com