abstract-class相关内容

ECMAScript 6 是否有抽象类的约定?

我很惊讶在阅读 ES6 时我找不到任何关于抽象类的信息.(我所说的“抽象类"指的是 Java 的含义,其中抽象类声明子类必须实现的方法签名才能实例化). 有谁知道在 ES6 中实现抽象类的任何约定?能够通过静态分析捕获抽象类违规会很好. 如果我在运行时引发错误以表示尝试抽象类实例化,错误会是什么? 解决方案 ES2015 没有 Java 风格的类,这些类为您想要的设计模式提供了 ..
发布时间:2021-11-26 16:52:04 前端开发

我应该在抽象方法的主体中放什么?

假设我有以下抽象类 Foo: 导入 abc类 Foo(abc.ABC):@abc.abstractmethod定义栏(自我):引发 NotImplementedError 我应该在 bar 方法的主体中放什么? 我看到很多代码都raise NotImplementedError,如上所示.但是,这似乎是多余的,因为任何未实现 bar 的子类都会在实例化时引发 TypeError: Can ..
发布时间:2021-11-26 16:51:55 Python

抽象属性上自定义属性的继承

我有一个自定义属性,我想将其应用于我的基本抽象类,以便在以 HTML 显示项目时可以跳过不需要用户查看的元素.似乎覆盖基类的属性没有继承属性. 覆盖基础属性(抽象或虚拟)是否会破坏放置在原始属性上的属性? 来自属性类定义 [AttributeUsage(AttributeTargets.Property,继承 = 真,AllowMultiple = false)]公共类 NoHtml ..
发布时间:2021-11-26 16:51:44 C#/.NET

何时初始化实例变量并分配值?

实例变量什么时候初始化?是在构造函数块完成之后还是之前? 考虑这个例子: 公共抽象类父{公共父(){System.out.println(“父构造函数");在里面();}公共无效初始化(){System.out.println("父初始化()");}} public class Child extends Parent {私有整数属性1;私有整数属性2 = null;公共孩子(){极好的 ..
发布时间:2021-11-26 16:51:26 Java开发

理解 Java 中抽象类的用途

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

抽象类的命名约定

我清楚地记得,有一次,Microsoft 推动的指导方针是添加“Base"抽象类的后缀,以消除它是抽象的事实.因此,我们有类似 System.Web.Hosting.VirtualFileBase、System.Configuration.ConfigurationValidatorBase、System.Windows.Forms.ButtonBase 和,当然,System.Collectio ..
发布时间:2021-11-26 16:51:06 C#/.NET

类映射错误:“T"必须是具有公共无参数构造函数的非抽象类型

在映射类时,我收到错误“T"必须是具有公共无参数构造函数的非抽象类型,以便将其用作泛型类型或方法中的参数“T". 下面是我的 SqlReaderBase 类 公共抽象类 SqlReaderBase;: 连接提供者{#region 抽象方法受保护的抽象字符串 commandText { get;}受保护的抽象 CommandType commandType { 获取;}受保护的抽象集合获取 ..
发布时间:2021-11-26 16:50:47 C#/.NET

为什么 java.lang.Object 不是抽象的?

可能的重复: Java:对象类未声明为抽象的基本原理 为什么 Object 类是 Java 中所有它们的基类,而不是抽象类? 这个问题我已经问了很长时间了,在这里问这个问题纯粹是出于好奇,仅此而已.我的代码或任何人的代码都没有破坏,因为它不是抽象的,但我想知道他们为什么把它具体化? 为什么有人想要这个 Object 类的“实例"(而不是它的存在,也就是引用)?一种情况是糟糕的同 ..
发布时间:2021-11-26 16:50:21 Java开发

没有纯虚函数的C++抽象类?

我有一个基类 class ShapeF{民众:形状F();虚拟 ~ShapeF();内联无效 SetPosition(const Vector2& inPosition) { mPosition.Set(inPosition);}受保护:Vector2 mPosition;} 显然有一些省略的代码,但你明白了.我使用它作为模板,并通过一些有趣的(省略)枚举来确定我正在使用的形状类型 clas ..
发布时间:2021-11-26 16:50:13 C/C++开发

Spring 可以在抽象类中自动装配吗?

Spring 无法自动装配我的对象?是否可以在抽象类中自动装配对象.假设所有模式都在 application-context.xml 中提供 问题:在基类和扩展类(如果有)@Service @Component 上应该使用什么注解? 示例 抽象类超人{@Autowire私有数据库服务数据库服务;抽象 void Fly();protected void doSuperPowerActio ..
发布时间:2021-11-26 16:50:04 其他开发

Swift 语言中的抽象函数

我想用 swift 语言创建一个抽象函数.可能吗? class BaseClass {func 抽象函数(){//如何强制覆盖这个函数?}}类子类:基类{覆盖 func abstractFunction() {//覆盖}} 解决方案 Swift 中没有抽象的概念(如 Objective-C),但你可以这样做: class BaseClass {func 抽象函数(){preconditio ..
发布时间:2021-11-26 16:49:41 移动开发

什么时候使用接口或抽象类?什么时候用?

虽然某些指导方针规定,当您想为继承不明确的类(IDomesticated)和继承是另一个类的扩展(Cat : Mammal, Snake : Reptile),在某些情况下(在我看来)这些指南进入了灰色区域. 例如,假设我的实现是 Cat : Pet.Pet 是一个抽象类.是否应该扩展为 Cat : Mammal, IDomesticated 其中 Mammal 是一个抽象类而 IDomes ..
发布时间:2021-11-26 16:49:28 其他开发

接口与抽象类

在 C# 中,什么时候应该使用接口,什么时候应该使用抽象类?什么是决定因素? 解决方案 更新:C# 8.0 新功能:从 C# 8.0 开始,接口可以为成员定义默认实现,包括属性.很少为接口中的属性定义默认实现,因为接口可能不会定义实例数据字段. 抽象类的优点是: 能够指定方法的默认实现 为函数添加了不变性检查 对“界面"的方式有更多的控制.方法被称为 能够“免费"提供与界 ..
发布时间:2021-11-26 16:49:13 C#/.NET

为什么Java中的抽象类有构造函数?

为什么Java中的abstract类有一个constructor? 它在构造什么,因为我们不能实例化一个 abstract 类? 有什么想法吗? 解决方案 Java 中的构造函数实际上并不“构建"对象,它用于初始化字段. 想象一下,您的抽象类具有字段 x 和 y,并且您总是希望它们以某种方式进行初始化,无论最终创建的是什么具体的具体子类.所以你创建一个构造函数并初始化这些 ..
发布时间:2021-11-26 16:49:04 Java开发

什么时候必须使用接口而不是抽象类?

我想知道什么时候应该使用接口. 让我们思考以下问题: 公共抽象类 Vehicle {抽象浮点 getSpeed();} 和: 公共接口 IVehicle {浮动 getSpeed();} 我可以轻松实现它们,它们具有相同的功能...但我也可以向我的车辆类添加一些变量,这些变量可能应该在车辆中使用(maxSpeed,carType...) 使用接口的原因是什么? 谢谢! ..
发布时间:2021-11-26 16:48:53 Java开发

PHP 中的抽象类是什么?

PHP 中的抽象类是什么? 如何使用? 解决方案 抽象类是至少包含一个抽象方法的类,是一种没有任何实际代码,只有名称和参数的方法,并且已标记为“抽象". 这样做的目的是提供一种模板来继承并强制继承类实现抽象方法. 因此,抽象类介于常规类和纯接口之间.接口也是抽象类的特例,其中所有方法都是抽象的. 请参阅 PHP 手册的本部分以获取进一步参考. ..
发布时间:2021-11-26 16:48:45 PHP

默认接口方法.现在,抽象类和接口之间有什么深刻的区别?

我知道抽象类是一种无法实例化的特殊类.抽象类只能被子类化(继承自).换句话说,它只允许其他类继承它,但不能实例化它.优点是它可以为所有子类强制执行某些层次结构.简单来说,它是一种契约,强制所有子类执行相同的层次结构或标准. 我也知道接口不是类.它是由“接口"一词定义的实体.接口没有实现;它只有签名,或者换句话说,只有没有主体的方法的定义.作为与 Abstract 类的相似之处之一,它是一个契 ..
发布时间:2021-11-26 16:48:37 C#/.NET

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

所以我一直在为我的编程课做抽象的作业,但遇到了一个问题.我现在的目标是能够使用抽象,然后能够用矩形和椭圆形绘制一个简单的城市,例如矩形建筑物或灯柱上的椭圆形灯. 我在编译时收到的错误是:MyTestApp.Rectangle 不是抽象的,并且不会覆盖 MyTestApp.Shape 中的抽象方法 drawEllipse(java.awt.Graphics).此错误显示在类 Shape 正下方 ..
发布时间:2021-11-26 16:48:28 Java开发