ことはじめ
とりあえずクラスを1個作ってみました。メソッド名の命名規則がJavaっぽいのは気にしないでください。
use strict;
package Bug;
sub new {
my $class = $_[0];
my $objref = {
_id => $_[1],
_type => $_[2],
_descr => $_[3],
};
bless $objref, $class;
return $objref;
}
sub getID() {
my ($this) = @_;
return $this->{_id};
}
sub getType() {
my ($this) = @_;
return $this->{_type};
}
sub getDescr() {
my ($this) = @_;
return $this->{_descr};
}
sub toString {
my ($this, @args) = @_;
print "ID: ".$this->getID()."\n";
print "TYPE: ".$this->getType()."\n";
print "DESC: ".$this->getDescr()."\n";
}
package Test;
my $bug1 = new Bug("BUG-001", "BUG", "Syntax Error");
$bug1->toString();
my $bug2 = new Bug("BUG-002", "NaN", "Not Error");
$bug2->toString();Javaで書くとこんな感じになると思います。
class Bug {
String id, type, descr;
public Bug(String id, String type, String descr) {
this.id = id;
this.type = type;
this.descr = descr;
}
public String getID() {
return this.id;
}
public String getType() {
return this.type;
}
public String getDescr() {
return this.descr;
}
public String toString() {
System.out.print("ID: " + this.getID() + "\n");
System.out.print("TYPE: " + this.getType() + "\n");
System.out.print("DESC: " + this.getDescr() + "\n");
}
public static void main(String[] args) {
Bug bug1 = new Bug("BUG-001", "BUG", "Syntax Error");
bug1.toString();
Bug bug2 = new Bug("BUG-002", "NaN", "Not Error");
bug2.toString();
}
}