C#..请高手告诉我抽象类中的构造函数的用法,谢谢了。

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:11:54
在抽象类中的构造函数应该怎么声明?访问树根如何?什么时候应该有构造函数?谢谢了。

先有一个基本的概念:抽象类不可以实例化。也就是说,如果你声明了这样一个类:
public abstract class BaseClass
{
public int someProperty = 0;
public BaseClass(int property)
{
this.someProperty = property;
}
}
然后在客户端BaseClass base = new BaseClass(1);这样调用的话,编译器会报错。
抽象类的构造函数只能在其子类的构造函数中调用,也就是说,不管是否是抽象类,无参构造自动调用,带参数的构造函数必须显式调用。可以这样在子类中调用父类的构造函数(使用base关键字):
public class ChildClass : BaseClass
{
public ChildClass(int property)
: base(property)
{

}
}

abstract (C# 参考)
abstract 修饰词可用於类别、方法、属性、索引子 (Indexer) 和事件。在类别宣告里使用 abstract 修饰词,表示该类别只是当做其他类别的基底类别而已。成员如果标记为抽象,或是包含在抽象类别 (Abstract Class) 内,则必须由衍生自此抽象类别的类别实作这个成员。

::::::!!!!
抽象类根本没有实作,又要衍生类来实作,构造函数又不可以继承,在抽象类中加构造函数和参数都是没有用的.我试过加上也不会报错.

抽象类中的构造函数声明与普通类一样,但抽象类不能被实例化,只能实例它的子类

抽象类中应该是析构函数。你在网上查一下析构函数