C#抽象成员、抽象类和抽象方法详解

抽象成员

抽象成员是指设计为被覆写的函数成员。抽象成员有一下特征:

  1. 必须是一个函数成员。也就是说,字段和常量不能为抽象成员。
  2. 必须用abstract修饰符标记。
  3. 不能有实现代码块。抽象成员的代码用分号表示。
    例如,下面取自一个类定义的代码声明了两个抽象成员:一个名称为PrintStuff的抽象方法和一个名称为MyProperty的抽象属性。
abstract public void PrintStuff(string s);
abstract public int MyProperty
{
   
get;
set;
}

抽象成员只可以在抽象类中声明,一共有4个类型的成员可以声明为抽象的:

  1. 方法;
  2. 属性;
  3. 事件;
  4. 索引。
    关于抽象成员的其他重要事项如下:

尽管抽象成员必须在派生类中用相应的成员覆写,但不能把virtual修饰符附加到abstract修饰符。
类似虚成员,派生类中抽象成员的实现必须指定override修饰符。

抽象类

抽象类就是指设计为被继承的类。抽象类只能被用作其他类的基类。

  1. 不能创建抽象类的实例。
  2. 抽象类使用abstract修饰符声明。
  3. 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带实现的成员的任意组合。
  4. 抽象类自己可以派生自另一个抽象类。例如,下面的代码展示了一个抽象类,它派生自另一个抽象类。
abstract class AbClass
{
   
*********
}
abstract class MyAbClass:AbClass
{
   
******
}

任何派生自抽象类的类必须使用override关键字实现该类所

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值