关于C#:abstract,virtual

来源:互联网 发布:c4d软件中文版设置 编辑:程序博客网 时间:2024/05/10 12:20

一点理解和整理,记录下来以备查看:

 

abstract:

1.可以用于类,方法,属性,事件和索引指示器,表示其为抽象成员;

2.用abstract修饰的方法不可以声明主体;

3.只要类中有abstract修饰的成员,该类就必须声明为abstract的;

4.abstract修饰的类不可以实例化实体;

5.abstract类中的abstract成员可以由子类override;

6.abstract修饰符用来强制继承类必须实现某一成员。

 

 

virtual:

1.用virtual修饰的方法必须声明实体;

2.父类中的virtual成员可以由子类override;

3.用父类声明一个变量指向子类的实体,如果子类override了父类中的virtual方法,那么执行子类中的方法,否则执行父类中的方法

(如果父类中该方法不声明为virtual,也可以被子类继承,但是如果子类中有签名相同的方法,那么这里相当于子类隐藏了父类的该方法,

即相当于使用了修饰符new,这时用父类声明一个变量指向子类的实体,执行该方法将执行父类的方法);

4.用来实现多态。 

 

 

override:

1.用来重写成员;

2.类中override修饰的成员,其子类中可以继续override。

 

原创粉丝点击