C#面向对象
2022-02-24 20:32:53 0 举报
AI智能生成
C#面向对象
作者其他创作
大纲/内容
基本概念
类
对象
实例
方法
属性
私有的是字段
公有的是属性
封装
封装对象所需要的信息
好处
减少耦合
提高数据安全性
继承
子类可以继承父类的属性与方法,通过访问修饰符来进行设置(所有非private的)
C#中每个类只能继承一个父类,意味着一个父类拥有多个子类
this表示当前类,base表示父类
好处
公共代码共享,避免重复和出错
提高程序的维护性
多态
虚方法(virtual)
父类定义的虚方法必须要有方法体
子类继承父类的虚方法,可以通过overide重写,也可以不重写
抽象类(abstract)
特点
子类继承抽象类,必须要通过overide覆盖抽象方法,属性
抽象方法只能定义不能有具体的实现
抽象类不能被实例化
与虚方法的区别
抽象方法在父类中不可以实现,而虚方法可以是实现
都是通过override覆盖
子类继承的抽象类必须实现所有的抽象方法,虚方法可以选择实现或不实现
使用场景
当父类中的方法不知道如何实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法
如果父类中的方法没有默认实现,父类也不需要被实例化,可以定义抽象类
接口(interface)
特点
public修饰
不能有任何实现
接口可以有多重继承,继承的接口必须要实现里面的所有方法
接口不能被实例化
接口与抽象类的区别
他们都不能被实例化
接口可以多重继承,抽象类只能单一继承
继承的前提下,实例不同的对象,对象调用的不同的方法,但是表象出不同的行为
0 条评论
下一页