2012-11-08 134 views
2

這個問題是關於Perl和穆斯的繼承。麋父母和孩子具有相同的屬性名稱

假設我有一個父類和一個嬰兒班。寶貝'延伸'家長。如果兩個類都具有「名稱」屬性,那麼寶貝如何訪問父母的名字而不會獲得自己的名字?

package Baby; 
use Moose; 
extends 'Parent'; 

has 'name', is => 'ro', isa => 'Str', default => 'Baby'; 

注:父類與名稱default =>'Parent'基本相同。

所以問題是,在我的程序中,我將如何訪問Parent的名字?

例如:

... 
$baby = Baby->new(); 
say "my name is " . $baby->name(); 
say "my Parent's name is " . ???? 

謝謝!

回答

5

你不知道。你還沒有創造一個新的屬性;你剛纔重寫了父類中的一個。您爲示例類選擇的名字是非常不幸的,因爲在現實世界中,嬰兒「擁有」父母,但通過使用繼承,您創造了嬰兒「是 - 」父母的情況。

+0

謝謝!這對我來說很有意義。 – CodeWriter

相關問題