gpt4 book ai didi

oop - 是否有任何 OO 语言允许从类中减去特征?

转载 作者:行者123 更新时间:2023-12-04 16:11:54 26 4
gpt4 key购买 nike

在 C++ 和我所知道的大多数面向对象语言中,当您从现有类 A 派生类 B 时,您可以添加新方法、覆盖现有方法以及添加新数据成员。如果 A 在 B 中有一些你不想要的部分,你就不能消除它们。或许大多数时候这没有任何意义,但有时我希望我能做到。

是否有任何语言允许在定义派生类时删除其父类的某些元素?

最佳答案

我认为子类应该提供一个覆盖父类实现的空方法。

问题在于子类与其父类(super class)之间存在 IS-A 关系。如果子类取消了方法,那么它在语义上会是父类(super class)的一个实例吗?多态性如何工作?当您将子类传递给需要父类(super class)类型的方法时,您会遇到各种痛苦,您应该能够做到这一点。

也就是说,使用动态语言,您可以通过元编程在运行时删除所需的方法。但我只会做一个空方法,如果有意义的话,可能会引发某种 UnsupportedOperation 错误。

关于oop - 是否有任何 OO 语言允许从类中减去特征?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com