oop - 了解 Kotlin 中的特征

标签 oop language-agnostic language-design traits kotlin

Kotlin我们将有可能创建一个“可能需要在调用端扩展类的特征”,例如

 class Bar {}
 trait T1 : Bar {}
 class Foo : Bar, T1, T2, T3 {}
 class Wrong : T1, T2 //error: Wrong should extend Bar

我无法想象可以应用这种结构的任何流程。谁能告诉我为什么我们需要它?

最佳答案

我认为这样做的主要原因是允许 trait 使用具体类中定义的方法和属性。想象一下,Bar 有一些基本方法,可以在此基础上构建其他便利方法......通过让 trait 要求它用于 Bar 的子类,你可以在 trait 中定义调用该方法的方法。然后,您可以通过为许多子类提供 trait 来将这些方法提供给它们。

关于oop - 了解 Kotlin 中的特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8457505/

相关文章:

python - 为什么 Python 的标准库中没有排序容器?

c++ - 为什么std::fetch_add返回旧值?

javascript - Sequelize nodejs将值传递给另一个函数

接口(interface)或类中的 PHP 类构造函数

python - 为什么从方法和外部读取的类变量不同?

language-agnostic - 什么是 "Orthogonality"?

math - float 学坏了吗?

swift - Swift 中的自定义运算符

python - 方法和函数之间的区别,在 Python 中与 C++ 相比

language-agnostic - 日志库有什么用?