13 ms·
Old School Object Oriented Perl
- ycamel 13y agoShape is a retangle. Shape::Circle inherits from the Shape. Is it reasonable? Shape class must have color attibute only. Shape::Retangle and Shape::Circle should inherit from the Shape. And ... package Shape::Retangle; use parent 'Shape'; sub new { my ($class, $args) = @_; my $self = $class->SUPER::new( { color => $args->{color} || 'black' } ); $self->{length} = $args->{length} || 1; $self->{width} = $args->{width} || 1; return bless $self, $class; } ... package Shape::Circle; use parent 'Shape'; sub new { my ($class, $args) = @_; my $self = $class->SUPER::new( {color => $args->{color} || 'black' } ); $self->{diameter} = $args->{diameter} || 1; return bless $self, $class; } ...