|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitry Grebeniuk 2:469/105 07 Jul 2003 15:01:04 To : All Subject : объекты. торможу слегка. --------------------------------------------------------------------------------
Hе работал с объектами в перле, поэтому возникают вопросы.
В man perltoot советуют делать конструктор наподобие такого:
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = {};
$self->{NAME} = undef;
$self->{AGE} = undef;
$self->{PEERS} = [];
bless ($self, $class);
return $self;
}
объясняя это какими-то нюансами с наследованием.
Hо мне хотелось бы, чтобы конструктор вызывался так:
my $reader = Filereader::new("filename"); (пример совершенно условен)
Если же следовать вышенаписанному (цитате из man perltoot), то в $proto
попадает "filename". Конечно, я могу сделать как-то по-другому - не записывать
первый аргумент в $proto, например, или делать my $reader = Filereader::new();
$reader->open("filename"), но даже не знаю, как будет идеологически правильнее.
Хотелось бы передавать параметр именно конструктору, а не отдельному методу.
Так красивее, мне кажется.
bye
--- GoldED+/LNX 1.1.5
* Origin: gds/FH (2:469/105)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/18413f09647b.html, оценка из 5, голосов 10
|