You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于C#抽象类示例中两类写法正确性的技术问询

关于C#抽象类相关写法的疑问解答

1. 派生类在自身Main方法中实例化自身是否正确?

完全正确。只要这个派生类不是抽象类(就像官方示例里的DerivedClass,它继承抽象基类但自身没有标记abstract),就可以正常实例化。而Main是类的静态成员,静态方法中直接实例化当前类的对象是C#里非常常规的操作,很多控制台程序的入门示例都会这么写。

2. 抽象类中定义public abstract int X { get; }这类抽象属性是否正确?

这是完全合规的正确写法。抽象属性的语法规则和抽象方法类似:只需要声明属性的访问器(get/set)签名,不需要提供具体的实现逻辑(也就是不用写访问器大括号里的代码)。子类继承这个抽象类后,必须实现这些抽象属性的访问器,否则子类也得标记为abstract。

举个实现的例子,子类可以这么写:

public override int X { get { return 10; } }
public override int Y { get { return 20; } }

或者用更简洁的C#表达式体写法:

public override int X => 10;
public override int Y => 20;

内容的提问来源于stack exchange,提问作者The Odd Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 20:35:17