java - 父类知道派生类的类型可以吗?
问题描述
父类可以通过泛型参数知道它的派生类的类型吗?
class Cloneable<T> where T : is Cloneable {
abstract T clone();
}
class A : Cloneable<A> {
override A Clone() {
// The child class knows how to clone itself.
return new Child(...);
}
}
在基类 ( Cloneable ) 中,我有一个抽象方法 ( Clone ),它应该在派生类中实现。
我希望基类中Clone()方法的返回类型是派生类(A)。
这种模式是否违反任何软件设计原则?您知道 .Net 类库或 Java 中的任何类似设计吗?
解决方案
推荐阅读
- sql - SQL Server:列出每个数据库的用户
- bluetooth-lowenergy - 如何禁用 Minew 的 e7 信标发送“未知”类型?
- android-studio - Android Studio 4.0.1 上未显示新的 Flutter 项目向导
- python - 如何使用带有 CSRF 令牌的 robobrowser 登录?
- swift - Swift 使用绑定捕获枚举案例
- ios - iOS 14 beta 3 - 应用程序屏幕未全屏显示
- excel - VBA - 创建新工作表时更新总和公式
- php - 已解决 - 如何将 macOS 原生 php 版本替换为 7.4?
- python - 模型比物体更能识别背景
- javascript - 角路由器点击滚动