oop - 这个 OOP 惯例是真的吗?

标签 oop

前段时间我读过类似 OOP 的“约定”之类的东西,但我不确定我是否记得正确。

它说一个方法必须以继承层次结构中最通用的对象为参数,同时返回最后代的对象。

这是真的吗?如果是的话,谁能稍微解释一下?

例子:

IList<T> someMethod(IList<T> someList)
{
    IList<T> resultList = new List<T>();

    ... do something with resultList ...

    return resultList;
}

根据“约定”,上面的方法应该返回 List,而不是 IList?

最佳答案

通常情况下,类会声明一个指向对象的通用指针。通常是基类。在运行时,通过构造函数或 setter 方法注入(inject)一个更具体的类,允许在不修改代码的情况下扩展代码。这是软件工程中的 chalice 。有一条规则说基类应该可以被它们的派生类替换——里氏替换原则。 我不确定您的示例似乎没有使用 someList 参数。

关于oop - 这个 OOP 惯例是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18124793/

相关文章:

java - 使用接口(interface)/继承时重复代码

java - 分离常用方法的最佳方法

c++ - 为什么此类对象声明有效?

JavaScript 类最佳实践?

php - 有没有办法集中预处理由 monolog 创建的所有日志?

python - 对象用作 "self"参数?

javascript - 检查对象是否立即继承自构造函数

java - 多态性,如何避免类型转换?

oop - 封装、抽象和多态是否需要继承?

php - spl_object_hash 匹配,对象不相同