C#---->类和接口

1、类成员,构造函数,类的继承,类的扫描顺序

2、普通基类虚成员(virtual),以基类身份声明的变量并用子类对象进行赋值的,可以实现子类对基类的重写(override)

3、抽象类(abstract),抽象类的实例成员和抽象成员

4、接口(interface),接口隐式实现和显示实现,接口的调用:类继承接口时,显示实现的接口子类的方法修饰符不使用public关键字,隐式实现的要写public 关键字,当多继承时特别是接口成员重名时要使用显示继承

5、抽象类和接口的区别(有了有抽象类为什么要有接口,两者如何使用)

个人理解:

什么叫多态性:在同一个粒度视图层面上对同类事物不加区别的对待而统一处理

一、从大范围上讲

  • 使用抽象类是为了实现代码的复用,接口是为了实现多态性。当遇到该使用抽象类还是接口犹豫不决时,先弄清楚自己的动机
  • 抽象类表示继承类是什么,接口则表示继承类能做什么

二、在实际声明当中

1、相同点:都可以被继承,都不能被实例化,可以有方法的声明,派生类必须实现未实现的方法

2、不同点:

  • 抽象类可以声明字段、实现的方法、属性,接口只能声明属性、索引器、事件、和方法的声明,不能声明字段
  • 抽象类只能被单一继承,接口可以多实现(一个派生类只能继承一个抽象类,但是可以实现多个接口)

6、下面是一些相关知识的概念,后面这个链接里面有一些说明,个人觉得说的很好和大家分享一下:

博客园好文分享:https://www.cnblogs.com/binyao/p/4891306.html

  • 面向对象编程和面向接口编程(看链接内容)
  • 面向对象的核心思想之一:模拟真实世界,把真实世界的事物抽象成类,整个程序靠个各类的实例互相通信互相协作完成系统功能
原文地址:https://www.cnblogs.com/fllowerqq/p/10792030.html