关于C#:abstract,virtual

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

 

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。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值