Perl 中的多态与类创建自动化
1. 多态在漂亮打印机中的应用
多态是 Perl 方法调度机制的必然结果,每个类中的每个方法都可能具有多态性。当转向面向对象的标记时,为解决问题提供了更简单、更健壮的方案。
1.1 简单漂亮打印机的对象化
多态的核心在于,一系列类若能响应某个方法调用,每个类可针对该调用做出不同响应。因此,我们无需编写一系列类型测试和相关的漂亮打印操作,只需为每个标记类提供一个 pretty_print 方法,并对每个标记进行多态调用。
以下是使用多态的漂亮打印机示例代码:
package main;
use Lexer 2.00;
my $lexer = Lexer->new('\d+'=> 'NUMBER',
'\$\w+'=> 'VARIABLE',
'\w+'=> 'IDENTIFIER',
'=|<'=> 'OPERATOR',
'\('=> 'LB',
'\)'=> 'RB',
'\{'=> 'LCB',
'\}'=> 'RCB',
','=> 'COMMA',
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



