c#基础(七)抽象类及接口

一、抽象类

        一个类被标记为abstract,那么这个类就叫做抽象类。关于抽象类有几个特点如下:

  1. 抽象类无法被实例化;
  2. 抽象类中的抽象方法没有方法体,和接口中定义的方法相似。
  3. 如果一个类中定义了抽象方法,那么这个类一定是抽象类。相反,如果一个类是抽象类,在这个类中不一定有抽象方法。
  4. 如果一个类继承自抽象类,并且抽象类中有抽象方法,那么在子类中必须通过override实现该抽象方法。
  5. 抽象类中的抽象方法主要用来限制子类必须实现这些抽象方法。当然,如果子类不实行这些抽象方法,那么子类必须被标记为抽象类,由子类的子类去实现。

二、接口

        接口是一种行为规范,可以用来定义一组要实现的“功能”,但是不提供具体的实现。关于接口中的注意事项,如下:

  1. 在接口中定义方法,方法不能有方法体。
  2. 方法不能有如public、private等的修饰符。
  3. 接口中定义的方法,在子类中必须都要实现,实现接口中的方法不需要像抽象类一样,使用override修饰符。
  4. 接口中不能声明变量(字段)。
  5. 接口中可以定义多个方法,也可以不定义任何方法。
  6. 类只能有一个父类,但是可以实现多个接口。
  7. 接口的多态和类型转换和抽象类类似,如能调用声明方法取决于变量的类型,具体调用哪个方法取决于实际指向的对象。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值