程序设计科学/Sway 演示文稿/对象/Examples3
外观
< 程序设计科学 | Sway演示文稿/对象
示例
能够将类进行扩展,使子类拥有相同的名称,是实现方面的好方法。
extends(stack()); //if subclass has new name extends((shadowed(:stack))()); //if subclass has same name
作为替代,使用过滤器是经工具处理的堆栈
include("stack.s"); function emptyPopChecker($expr) { if ($expr . context . empty?()) { throw(:stackError,"pop on empty stack"); } force($expr); }
然后,我们可以制作并使用特定堆栈
var s = stack(); s . pop . filter = emptyPopChecker;
不太正确。任何人吗?
function emptyPopChecker2($expr) { var result = catch(force($expr)); if (type(result) == :ERROR) { throw(:stackError,"pop on empty stack"); } result; }