Roc*_*nce 5 inheritance r multiple-inheritance s4
我在R中创建S4类.
我在https://github.com/hadley/devtools/wiki/S4上读到
请注意,S4支持多重继承,但是应该非常谨慎地使用它,因为它使方法查找非常复杂.
什么是方法查找?为什么多重继承更复杂?
Vin*_*ynd 10
当您键入f(x),与x属于几类(比方说,A,B和C),计算机必须决定f调用(从A类,B或C)方法:这就是所谓的"方法查找".
当代码发展时,多重继承经常会出现问题.
想象一下,你已经写了两个基类A和B,而C类继承了它们.一切正常.几个月后,一个使用A类并且完全不知道B类和C类(他不需要它们)的开发人员为A类添加了一种新方法.他不知道,已经有了一种方法B类中的名称.C类对象会发生什么?是否会使用A或B的方法?在某些语言中,代码可能会失败,在其他语言中,您可能会有一个未定义的行为和一个非常难以捕获的错误.
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |