面向对象(重载、封装、继承、抽象)

一、方法重载:
1、两个函数同名,就互相构成方法的重载关系
2、重载的函数,必须跟其他函数之间具有不同的参数类型或参数个数
注意:“Ctrl+Shift+空格键”可以查看重载的方法

二、封装
1、类的字段:
类里面是可以直接定义变量的,这些变量就叫类的字段,也叫成员变量。
2、类的属性:
是一种特殊的字段,用来为其他字段传输数据,具备两个方法
3、封装字段的方法:
(1)通过在字段上右键点击“重构”“封装字段”“确定”实现
(2)
读访问器
get { return Name; }
写访问器
set {
if(value.Length<=3)
Name = value;
}

三、静态成员:(static)
不能通过类的对象进行操作,只能通过类名点出使用
静态成员不在造对象的数据类型规则模板范围之内

四、类与对象的区别:
类是一个用户自定义数据类型,是一个模板
对象就是一个根据模板造出来的变量
类与对象的关系是一对多的关系,类就一个,根据这个类可以造N个对象

五、类的构造函数:
构造函数是一个跟类名同名的,没有任何返回值的函数,
默认无返回值、无参数、无函数体,但是可以自己写重载
每个类都默认存在构造函数,至少有一个构造函数
构造函数是创建对象的时候类的入口
构造函数就是new 后面所调用的那个函数,它具备其他普通函数的所有功能
构造函数一用来进行初始化对象时候的类的成员变量的赋予初始值
以及类与类之间的数据传输

六、修饰符:
public 公共的,作用范围是整个命名空间(类库),以及引用了此命名空间的其他地方
private 私有的,只能作用于当前类
protected 受保护的,作用于当前类,以及子类

七、继承:
子类继承父类,通过在类后面加冒号来继承某个类
一旦形成继承关系后,子类的对象就能够使用父类中的公共属性和方法函数
子类能够转换成父类,但父类不一定能够转成子类
只有当父类对象是由某个子类对象转换来的时候,才能再把父类对象转换回去,
从哪个子类来的,就只能再转回那个子类去
直接通过父类的构造函数构建的对象, 不能转换为子类对象
当子类中重写了跟父类同名同参数的方法之后,
通过哪个类的对象点出来的方法,对应就是那个类里面的方法内容

重写的方法,如果在父类中加virtual 在子类中加override之后,
当从子类对象转换为父类类型的对象之后,通过父类对象调用的就是子类的方法

八、抽象:
1、抽象类:类名class前面加abstract
抽象类不能创建对象(实例),只能用作继承关系中的父类
其他用法和普通的类的继承用法相同
2、抽象方法:
只能写在抽象类当中
必须在子类当中通过override进行重写覆盖来实现方法内容
如果不实现,那么就默认这个子类也变成了一个抽象类,
必须再在其他地方去继承实现它才可以。
3、抽象属性,注意说的是属性,不是字段。
同抽象一样,需要去重写一下。

九、接口:
一个类只能继承一个父类,但一个类可以继承多个接口
接口不能创建自己的实例,接口中不能写字段、属性
接口里的方法不能有方法内容,必须要在子类里面去实现,
实现的时候要通过接口的名字点出方法来实现

原文地址:https://www.cnblogs.com/XMH1217423419/p/4420828.html