overriding相关内容
我陷入了以下情况: 我有一个名为 Ammo 的抽象类,其中 AmmoBox 和 Clip 作为子类. 我有一个名为 Weapon 的抽象类,其中 Firearm 和 Melee 作为子级. Firearm 是抽象的,ClipWeapon 和 ShellWeapon 作为子元素. 在Firearm里面,有一个void Reload(Ammo ammo); 问题在于,ClipWeap
..
我有以下结构: 抽象类 Base {公共摘要列表得到();//什么应该是泛型类型?}类 SubOne : 基础 {公共覆盖列表得到() {}}类子二:基{公共覆盖列表得到() {}} 我想创建一个抽象方法,该方法返回具体子类是什么类.因此,从示例中可以看出,SubOne 中的方法应该返回 List 而 SubTwo 中的方法应该返回 List. 我在基类中声明的签名中指定什么类
..
我有一个类是许多其他类的超类.我想知道(在我的超类的 __init__() 中)子类是否覆盖了特定的方法. 我试图用一个类方法来完成这个,但结果是错误的: 类超级:def __init__(self):如果 self.method == Super.method:打印“相同"别的:打印“不同"@类方法定义方法(cls):经过类 Sub1(超级):定义方法(自我):打印“嗨"类 Sub2(超
..
假设我有两个类,A 和 B.A 类被定义为抽象类,而 B 扩展了这个抽象类,最后我测试了结果,两个类都是同一个包的一部分. 公共抽象类 A {受保护的抽象无效方法1();受保护的无效方法2(){System.out.println("这是A类的方法");}}公共类 B 扩展 A {@覆盖受保护的无效方法1(){System.out.println("这是B对A方法的实现");}} 现在当我测试
..
我有一个具有泛型方法的抽象类,我想通过用特定类型替换泛型参数来覆盖泛型方法.所以在伪代码中我有以下内容: 公共抽象类 GetAndParse {公共 SomeClass 变量;public abstract void getAndParse(T... args);}公共类实现者扩展了 GetAndParse {//一些字段声明//一些方法声明@覆盖
..
希望任何人都可以提供帮助,我正在学习 Java,并且与本论坛中的其他人相当,我想我也是编程的新手. 我读过一章关于抽象类和方法的章节,但并没有真正完全理解它们的用途和原因,我想我会从有经验的程序员那里得到解释. 下面我有我一直在研究的示例代码,在本书的帮助下,我不确定的是为什么在 Dims 类中,当每个子类使用一个区域时,我必须有抽象的 double area()方法还是从超类调用ar
..
我正在研究遗传算法的通用实现.我正在尝试从抽象类 Individual 中为背包问题扩展一个特定的 Individual 包GenericGA;公共抽象类个人{私人双人健身;私人双重概率;公共双 getFitness() {恢复体能;}公共双 getProbability() {返回概率;}public void updateProb(double totalFitness){概率 = 适应度/
..
我想从 SuperClass 强制 SubClasses 到 @Override 方法. SuperClass 中的方法不能是 abstract,因为我想提供一些基本的实现. 这是我的代码示例: 公共抽象类GenericModel{长 ID,计数器;公共字符串方法ToBeOverridenInSubClass(字符串名称){//一些基本的实现//其余细节将由子类提供返回名称;}}公共
..
基类 类抽屉{public abstract void Draw(T型);} 派生类#1 class ADrawer : 抽屉{public override void Draw(List list){foreach (var a in list){画A(a);}}public void DrawA(Agent a){//在这里绘制代码}} 派生类#2 class AnotherD
..
所以我收到错误 Class is not abstract 并且不会覆盖 ActionListener 中的抽象方法 actionPerformed(ActionEvent) 我知道这个错误的根源,但让我困惑的是我有那个方法. public static ActionListener taskPerformer = new ActionListener(){public void acti
..
问题大纲 我正在对当前项目基础的更好部分进行泛化,并且我有一个想法,我决定测试关于覆盖抽象方法的内容.这是我在 Java 中的测试类: 公共抽象类 Base {public abstract 测试();} 第一次实现: public class Inheritor extends Base {@覆盖公共继承者测试(){返回空;}} 第二次实施: pu
..
我觉得它很奇怪,想知道它是否是经常使用的东西.什么时候有用? 公共接口InterA {对象 getInfo() 抛出 Exception1;}公共接口 InterB {公共默认整数 getInfo(Object s) {return 67;}}公共接口 InterC 扩展了 InterA、InterB {@Override public abstract Integer getInfo(Obje
..
我有四门课.请求、DerivedRequest、处理程序、DerivedHandler.Handler 类有一个属性,声明如下: public abstract Request request { get;放;} DerivedHandler 需要覆盖这个属性,以便它返回 DerivedRequest: public override DerivedRequest request { get
..
我有一个带有以下(为简洁起见进行了修剪)声明的基类: 公共抽象类 MyBaseClass{公共 int RecordId { 获取;私人订制;}公共字符串对象名称 { 获取;放;}公共抽象字符串状态 { 获取;放;}公共 GetMyObject(int id){MyObject myObject = context.GetObjectById(id);this.RecordId = myObje
..
我一直在做一个作业,它涉及一个代表通用动物的抽象类,还有猫、狗、爬行动物等的子类.超类具有抽象方法每个子类实际上都没有使用这些方法. 例如,有狗和猫使用的品种和性别的访问器和变异器,而不是爬行动物类.我个人认为这是一个奇怪的设置,但这是作业所要求的. 一开始我尝试忽略特定子类中未使用的抽象方法,但我很快发现这会导致错误,因为抽象方法没有被覆盖.我所要做的就是将其放入适当的方法中进行修复...
..
公共抽象类A{公共抽象无效过程();}公共抽象类 B : A{公共抽象覆盖 void Process();}公开课 C : B{公共覆盖无效进程(){Console.WriteLine("abc");}} 此代码引发编译错误:'B' 未实现继承的抽象成员 'A.Process()'. 有没有办法做到这一点? 解决方案 只需在类 B 中完全省略该方法.B 无论如何从 A 继承它,并且
..
抽象公共类车{抽象无效驱动器();} 与上面的代码片段一样,Java 中抽象方法的目的究竟是什么?据我所知,根据定义,他们不允许有尸体. 解决方案 当你让事物实现同一个抽象类时,你是说,这些事物在高层次上是相似的,但它们在具体的做法上有所不同事物.抽象方法就是你怎么说,“这是扩展这个类的所有事情都必须做的事情,但他们每个人都可以指定他们将如何做."
..
在 Java 中重写非虚方法时,推荐使用 @Override 批注,但如果我实现抽象方法怎么办?那么我也应该使用 @Override 吗? 解决方案 在这种情况下,我倾向于使用 @Override,以便在超类更改时在子类中标记该方法(完全删除该方法,或更改其签名等). 唯一真正的区别是,如果没有注解,如果超类/接口中的方法被更改或删除,有问题的实现只是成为该类的“正常"方法.因此,如
..
class Base {}抽象类A{抽象公共列表项目{得到;放;}}派生类:基{}B级:A{私人列表项目;公共覆盖列表项目{得到{退换货品;}放{项目 = 价值;}}} 编译器说 B.Items 必须是 Base 元素列表“以匹配覆盖的成员"A.Items.我怎样才能做到这一点? 解决方案 你最初尝试完成的事情是不可能的 - .NET 不支持方法重载的 co(
..
我试图了解 Java 如何处理当具体类从不同类/接口继承(抽象或具体)具有相同名称的方法时出现的歧义情况. 我一直无法找到一般规则,这就是为什么我决定花一些时间通过使用实际方法来解决这个问题. 我考虑了 8 种不同的情况,结合起来 抽象方法 非抽象方法 抽象类 界面 导致这个方案: +-------------------------+|界面 |+--------
..