2

私はperlの初心者です。やるべきプログラムがあります。

1.学生の名前、ロール番号、および6つの科目マークの情報を持つ簡単なクラスを作成したいと思います。
2.マークのパーセンテージを計算するサブルーチンも作成したいと思います。
3. また、ロール番号、親クラスからの名前、および新しいフィールドアドレスと電話番号の追加を持つ子クラスを作成することにより、ユーザー継承を実証したいと考えています。
4. パーセンテージサブルーチンをオーバーライドするメソッドを作成します。

私は多くの perl ドキュメントを調べましたが、これを解決できず、2、3、4 も解決できません。

私の今までのコードは以下に貼り付けられていますが、それも機能していないようです。このすべてを学ぶことができるように、このプログラムをどのように行うことができるか誰か教えてもらえますか?

私のコード:

class.pm  

package class;

#constructor
sub new 
{
#my ($class) = @_;
my ($class, %arg) = @_;
my $self = 
{
    _name => $arg{_name}    ,
    _roll_no => $arg{_roll_no}    ,
    _sub1 => $arg{_sub1}    ,
    _sub2 => $arg{_sub2}    ,
    _sub3 => $arg{_sub3}    ,
    _sub4 => $arg{_sub4}    ,
    _sub5 => $arg{_sub5}    ,
    _sub6 => $arg{_sub6}    
};
, $class;
}  

sub name        { $_[0] -> {_name}     }
sub roll_no     { $_[0] -> {_roll_no} }
sub sub1    { $_[0] -> {_sub1}}
sub sub2    { $_[0] -> {_sub2}}
sub sub3    { $_[0] -> {_sub3}}
sub sub4    { $_[0] -> {_sub4}}
sub sub5    { $_[0] -> {_sub5}}
sub sub6    { $_[0] -> {_sub6}}

1;

class1.pm も作成しました

class1.pm


use class;

print "Object 1:\n\n";

my $obj1 = class->new(
name => "sam"    ,
roll_no => "1"    ,
sub1 => "99"    ,
sub2 => "98"    ,
sub3 => "97"    ,
sub4 => "96"    ,
sub5 => "95"    ,
sub6 => "96" 
);


print $obj1->name, "\n";
print $obj1->roll_no, "\n";
print $obj1->sub1, "\n";
print $obj1->sub2, "\n";
print $obj1->sub3, "\n";
print $obj1->sub4, "\n";
print $obj1->sub5, "\n";
print $obj1->sub6, "\n";
4

2 に答える 2

1

のオブジェクトにblessを使用するのを忘れただけです。適切な ctor 定義の簡単な例は、ここにあります。$selfnew

于 2013-04-21T06:14:17.060 に答える