0
点赞
收藏
分享

微信扫一扫

C# -接口与异常处理

开源分享 2022-02-21 阅读 131

什么是接口

  • 接口是一种规范,约定好遵守某种规范就可以写通用的代码
  • 定义了一组具有各种功能的方法(只是一种能力,没有具体的实现)
  • 接口的意义: 实现多态

接口定义

  • 接口不能实例化。接口不能有任何实现,接口就是让子类实现的
  • 定义一个接口,建议:一定要以大写I开头
  •  接口里边能包含什么成员,接口里面只能包含【方法】(方法,属性,索引器,事件)
  • 接口中的所有成员,都不能显示的  写任何访问修饰符,默认为public访问修饰符
  • 接口中的子类成员,子类必须实现
  • 1.接口可以实现“多继承”(多实现),一个类只能继承自一个父类,但是可以实现多个接口
  • 2.接口解决了不同类型之间的多态问题,比如鱼和船不是同一类型,但是都能在水里游泳,只是方式不一样,要对游泳实现多态,就只能考虑接口
  • 当一个类同时继承父类,并且实现了多个接口的时候,必须将继承类,写在第一个
  • 当一个抽象类实现接口的时候,如果不想把接口的成员实现,可以把该成员实现为abstract(抽象类也能实现接口,用abstract标记)

  • 显示实现接口没有访问修饰符,默认是私有的
  • 显示实现接口时,在方法名称前加了接口名  如: 接口名.方法名
  • 显示实现接口, 解决接口内方法重名问题,显示实现的调不到,因为是private的,只能通过接口变量来调用

编程时的建议:

  • 接口--抽象类--父类--具体类(在定义方法参数、返回值、声明变量的时候能用抽象类就不要用具体)
  • 能使用接口就不要用抽象类,能使用抽象类就不要用类,能用父类就不要用子类
  • 避免定义体积庞大的接口,多功能接口,会造成接口污染,只把相关联的一组成员定义到一个接口中(单一职责原则)
  • 定义多个职责单一的接口(小接口),(组合使用),(类似印刷术和活字印刷术)

异常处理

try{   可能发生异常的代码   }  catch{  对异常的处理  } finally{  无论是否异常都会执行的代码  }

  • 当try块中某行代码发生异常,从该行开始后面的都不会继续执行,直接跳转到catch块执行
  • 对不同的异常,使用不同的方式来处理(使用多个不同的catch块来捕获异常)
  • 不管是否发生异常,finally中的代码都会执行
  • 可以主动抛出异常
  • throw;  只能在catch块中写,表示异常继续向上抛出
举报

相关推荐

0 条评论