1 comment

[ 1.9 ms ] story [ 9.4 ms ] thread
Shape 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; 
}

...