Perl中有效建立Getter 和Setter的方法
利用Class::MethodMaker可以有效避免重新寫很多getter和setter的程式碼,具體如下:
package Animal;
use Class::MethodMaker
new_with_init => 'new',
get_set => [ -eiffel => [qw(color height name age)]],
abstract => [qw(sound)],
;
sub init {
my $self = shift;
$self->set_color($self->default_color);
}
sub named {
my $self = shift->new;
$self->set_name(shift);
$self;
}
sub speak {
my $self = shift;
print $self->name, ' goes ', $self->sound, "\n";
}
sub eat {
my $self = shift;
my $food = shift;
print $self->name, " eats $food\n";
}
sub default_color {
'brown';
}
生成函式new會呼叫init函式,eiffel中為需要建立的setter和getter物件
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24104518/viewspace-722907/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javascript 中的getter,setterJavaScript
- JavaScript中getter/setter的實現JavaScript
- 基於資料庫表結構建立帶 getter 和 setter 方法的 Model資料庫
- Vue引發的getter和setterVue
- golang自動生成setter和getterGolang
- 【譯】6. Java反射——Getter和SetterJava反射
- 理解defineProperty以及getter、setter
- Getter訪問器和Setter修改器
- lombok註解為java類生成Getter/Setter方法LombokJava
- 私有setter公有getter屬性
- 深入理解 Getter和Setter 對物件的屬性監聽物件
- 【譯】JavaScript的GETTER-SETTER金字塔模型JavaScript模型
- @NoArgsConstructor、@Getter、@Setter註解及Lombok的使用StructLombok
- vue.js計算屬性(getter | setter)Vue.js
- getter,setter 直接修改造成的空指標異常指標
- 我們為什麼需要獲取器(Getter)和設定器(Setter)?
- 為什麼在 JavaScript 中使用 getter 和 setter 是一個壞主意JavaScript
- IDEA外掛實現根據欄位註釋生成getter/setter方法Javadoc註釋IdeaJava
- [譯] Lenses:可組合函數語言程式設計的 Getter 和 Setter(第十九部分)函數程式設計
- Swift3.0 -- didSet(OC中重寫setter方法)Swift
- [Vuex系列] - Vuex中的getter的用法Vue
- Intellij idea 不能識別 @Slf4j,@Getter ,@Setter註解,安裝LombokIntelliJIdeaLombok
- Python中類的建立和使用方法Python
- Perl的物件導向方法物件
- Perl中FTP的使用FTP
- 重構 001 - 刪除Java的Setter方法Java
- JS中建立物件的方法JS物件
- Perl的包和模組
- [轉]Shell向Perl指令碼中傳遞變數的方法指令碼變數
- [譯]Perl中的陣列陣列
- Python中建立DataFrame的方法Python
- Nginx和Perl的結合Nginx
- 閱讀論文的方法和技巧(快速且有效)
- 6種編寫HTML和CSS的最有效的方法HTMLCSS
- getter概念
- 有效的儲存的方法
- Kafka中避免重複訊息的5種有效方法Kafka
- Python中動態類和動態方法的建立與呼叫Python