《Ruby元编程》Open Class要特别注意名称覆盖

在Ruby中,class是开放的。 使用Open Class的关键问题在于: 名称覆盖。 就是你写的方法名称,特别要跟别人写的,不要相同。否则会覆盖,覆盖名称不要紧,连方法体都会覆盖,从而产生错误。


名称这东西,很容易冲突。最简单的方式是,不断的往 名称添加父名称,祖父名称。。。构成下面形式: GrandfatherName.FatherName.Name。 在java中叫做package,在C#中叫NameSpace.

起名字,还好办。但在一个Class,每个成员member,名称应该不同的。


问题在于Open Class中,及其容易修改到别人写的class,所以要尤其注意。这个java等不一样,没有静态编译的。没有编译,意味着没人帮你检查这个问题。


所以,有编译器语言好处是,它首先会帮你检查写的是否正确。正确了才构造语法树AST。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值