первое сообщение от новичка-пользователя. Кажется, каждый вопрос, который я задаю в Google, приводит меня сюда, и я всегда получаю отличный ответ на то, что я ищу; естественно, это была моя первая остановка, когда я начал размышлять об использовании благословения в Perl.
Я только что попал в ООП Perl и только сегодня прочитал пост, спрашивающий, что делает благословение. Теперь я понимаю, что он ссылается на скаляр / хэш / массив для объекта, «присоединяя» его, если хотите.
В большинстве примеров классов, которые я вижу в Perl, они, кажется, не имеют свойств, которые я привык видеть на других языках ...
{ package Person;
my $property = "This is what I'm talking about :)";
sub new { ... }
...
}
Итак, я создал тупой класс со свойством, чтобы посмотреть, что произойдет. Я сразу же присвоил свойству значение «NIL», а затем «Not Nil!» в конструкторе. Используя метод LIST, я смог напечатать свойство, и, как я и ожидал, оно напечатало «Not Nil!»
Мой вопрос: если свойства работают так же, как я ожидал, они будут работать (объявлено в теле), тогда зачем вообще использовать bless? Каково дополнительное преимущество наличия этой ссылки, когда вы можете просто создать скаляр / хэш / массив в качестве свойства или создать любые ссылки, которые вы хотите в качестве свойства?
Надеюсь, я объяснил, что я пытаюсь спросить достаточно хорошо, очень зеленый с Perl:)