overriding相关内容

根据子类从基类指定抽象方法的返回类型

我有以下结构: 抽象类 Base {公共摘要列表得到();//什么应该是泛型类型?}类 SubOne : 基础 {公共覆盖列表得到() {}}类子二:基{公共覆盖列表得到() {}} 我想创建一个抽象方法,该方法返回具体子类是什么类.因此,从示例中可以看出,SubOne 中的方法应该返回 List 而 SubTwo 中的方法应该返回 List. 我在基类中声明的签名中指定什么类 ..
发布时间:2021-11-25 09:35:44 C#/.NET

如何检测python子类中的方法重载?

我有一个类是许多其他类的超类.我想知道(在我的超类的 __init__() 中)子类是否覆盖了特定的方法. 我试图用一个类方法来完成这个,但结果是错误的: 类超级:def __init__(self):如果 self.method == Super.method:打印“相同"别的:打印“不同"@类方法定义方法(cls):经过类 Sub1(超级):定义方法(自我):打印“嗨"类 Sub2(超 ..
发布时间:2021-11-25 09:35:33 Python

理解 Java 中抽象类的用途

假设我有两个类,A 和 B.A 类被定义为抽象类,而 B 扩展了这个抽象类,最后我测试了结果,两个类都是同一个包的一部分. 公共抽象类 A {受保护的抽象无效方法1();受保护的无效方法2(){System.out.println("这是A类的方法");}}公共类 B 扩展 A {@覆盖受保护的无效方法1(){System.out.println("这是B对A方法的实现");}} 现在当我测试 ..
发布时间:2021-11-25 09:24:44 Java开发

抽象类和方法,为什么?

希望任何人都可以提供帮助,我正在学习 Java,并且与本论坛中的其他人相当,我想我也是编程的新手. 我读过一章关于抽象类和方法的章节,但并没有真正完全理解它们的用途和原因,我想我会从有经验的程序员那里得到解释. 下面我有我一直在研究的示例代码,在本书的帮助下,我不确定的是为什么在 Dims 类中,当每个子类使用一个区域时,我必须有抽象的 double area()方法还是从超类调用ar ..
发布时间:2021-11-25 09:15:33 Java开发

类不是抽象的,不会覆盖超类中的抽象方法

我正在研究遗传算法的通用实现.我正在尝试从抽象类 Individual 中为背包问题扩展一个特定的 Individual 包GenericGA;公共抽象类个人{私人双人健身;私人双重概率;公共双 getFitness() {恢复体能;}公共双 getProbability() {返回概率;}public void updateProb(double totalFitness){概率 = 适应度/ ..
发布时间:2021-11-25 09:12:19 Java开发

强制子类从 SuperClass 到 @Override 方法.SuperClass中的方法必须有主体

我想从 SuperClass 强制 SubClasses 到 @Override 方法. SuperClass 中的方法不能是 abstract,因为我想提供一些基本的实现. 这是我的代码示例: 公共抽象类GenericModel{长 ID,计数器;公共字符串方法ToBeOverridenInSubClass(字符串名称){//一些基本的实现//其余细节将由子类提供返回名称;}}公共 ..
发布时间:2021-11-25 09:10:36 Java开发

覆盖 Java 中的抽象泛型方法

问题大纲 我正在对当前项目基础的更好部分进行泛化,并且我有一个想法,我决定测试关于覆盖抽象方法的内容.这是我在 Java 中的测试类: 公共抽象类 Base {public abstract 测试();} 第一次实现: public class Inheritor extends Base {@覆盖公共继承者测试(){返回空;}} 第二次实施: pu ..
发布时间:2021-11-25 09:06:57 Java开发

用抽象方法覆盖默认接口方法

我觉得它很奇怪,想知道它是否是经常使用的东西.什么时候有用? 公共接口InterA {对象 getInfo() 抛出 Exception1;}公共接口 InterB {公共默认整数 getInfo(Object s) {return 67;}}公共接口 InterC 扩展了 InterA、InterB {@Override public abstract Integer getInfo(Obje ..
发布时间:2021-11-25 09:02:12 Java开发

从抽象基类的重写属性抛出的堆栈溢出异常

我有一个带有以下(为简洁起见进行了修剪)声明的基类: 公共抽象类 MyBaseClass{公共 int RecordId { 获取;私人订制;}公共字符串对象名称 { 获取;放;}公共抽象字符串状态 { 获取;放;}公共 GetMyObject(int id){MyObject myObject = context.GetObjectById(id);this.RecordId = myObje ..
发布时间:2021-11-25 08:57:44 C#/.NET

解决需要覆盖 Java 中的抽象方法的问题吗?

我一直在做一个作业,它涉及一个代表通用动物的抽象类,还有猫、狗、爬行动物等的子类.超类具有抽象方法每个子类实际上都没有使用这些方法. 例如,有狗和猫使用的品种和性别的访问器和变异器,而不是爬行动物类.我个人认为这是一个奇怪的设置,但这是作业所要求的. 一开始我尝试忽略特定子类中未使用的抽象方法,但我很快发现这会导致错误,因为抽象方法没有被覆盖.我所要做的就是将其放入适当的方法中进行修复... ..
发布时间:2021-11-25 08:56:38 Java开发

抽象方法覆盖抽象方法

公共抽象类A{公共抽象无效过程();}公共抽象类 B : A{公共抽象覆盖 void Process();}公开课 C : B{公共覆盖无效进程(){Console.WriteLine("abc");}} 此代码引发编译错误:'B' 未实现继承的抽象成员 'A.Process()'. 有没有办法做到这一点? 解决方案 只需在类 B 中完全省略该方法.B 无论如何从 A 继承它,并且 ..
发布时间:2021-11-25 08:56:03 C#/.NET

抽象方法的目的是什么?

抽象公共类车{抽象无效驱动器();} 与上面的代码片段一样,Java 中抽象方法的目的究竟是什么?据我所知,根据定义,他们不允许有尸体. 解决方案 当你让事物实现同一个抽象类时,你是说,这些事物在高层次上是相似的,但它们在具体的做法上有所不同事物.抽象方法就是你怎么说,“这是扩展这个类的所有事情都必须做的事情,但他们每个人都可以指定他们将如何做." ..
发布时间:2021-11-25 08:53:38 Java开发

在 Java 中实现抽象方法时是否应该添加 @Override 注释?

在 Java 中重写非虚方法时,推荐使用 @Override 批注,但如果我实现抽象方法怎么办?那么我也应该使用 @Override 吗? 解决方案 在这种情况下,我倾向于使用 @Override,以便在超类更改时在子类中标记该方法(完全删除该方法,或更改其签名等). 唯一真正的区别是,如果没有注解,如果超类/接口中的方法被更改或删除,有问题的实现只是成为该类的“正常"方法.因此,如 ..
发布时间:2021-11-25 08:51:38 Java开发

使用更指定的返回类型(协方差)覆盖抽象属性

class Base {}抽象类A{抽象公共列表项目{得到;放;}}派生类:基{}B级:A{私人列表项目;公共覆盖列表项目{得到{退换货品;}放{项目 = 价值;}}} 编译器说 B.Items 必须是 Base 元素列表“以匹配覆盖的成员"A.Items.我怎样才能做到这一点? 解决方案 你最初尝试完成的事情是不可能的 - .NET 不支持方法重载的 co( ..
发布时间:2021-11-25 08:50:36 C#/.NET

处理同音继承方法的规则是什么?

我试图了解 Java 如何处理当具体类从不同类/接口继承(抽象或具体)具有相同名称的方法时出现的歧义情况. 我一直无法找到一般规则,这就是为什么我决定花一些时间通过使用实际方法来解决这个问题. 我考虑了 8 种不同的情况,结合起来 抽象方法 非抽象方法 抽象类 界面 导致这个方案: +-------------------------+|界面 |+-------- ..
发布时间:2021-11-25 08:50:06 Java开发