C#面向对象的三大特点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oop-面向对象
oop三大特性:封装、继承、多态。
封装:通过访问修饰符(public、private、protected、internal)来屏蔽对象内部的细节(成员变量、成员方法)。
public class ClassName2
{
//成员变量
//成员方法(构造函数、析构函数、普通方法、静态方法)
}
重载:方法同名但签名(参数个数、类型)不同。
重写:父类中的abstract或virtual方法,在子类中重新实现。
覆盖:父子类中有同名方法,但没有重写;若想有意覆盖,请用new 关键字。例子:Demo6.16\Demo04项目
虚方法vs 抽象方法
override重写父类abstract/virtual方法。
抽象(Abstract)方法仅存在抽象类中,不能实现。
虚方法(Virtual)方法可以存在于抽象类与非抽象类中,可以实现,也可以不实现。子类调用父类的方法,需使用base关键字(base.xxx())。
抽象类vs 普通类
抽象类不可被实例化,可拥有抽象或非抽象方法。抽象方法由子类重写,非抽象方法一种由多态调用,一种是有子类base调用,或者将其方法修改为静态方法。
非抽象类可被实例化,仅有非抽象方法。
继承:提高代码的复用度(代码重用)
类继承:单继承接口:多重继承。
抽象类vs 接口
多态:同一对象在不同条件下表现出不同的形态(父类或父接口指向子类)。
接口作为参数、返回值的意义:
1.接口作为参数
–传递了实现接口的对象
2.接口作为返回值
–返回一个实现了接口的对象