C#面向对象的三大特征

发布时间 2023-08-18 21:23:02作者: 三月ღ

一、封装

封装就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的类或者对象隐藏信息。简单地说,一个类就是一个封装了数据及操作这些数据的代码的逻辑实体。目的是增强程序的安全性、简化编程、代码的重用性更高,让修改或扩展更方便。

访问修饰符:

public:访问不受限制。

protected:访问仅限于包含类或从包含类派生的类型。只有包含该成员的类以及继承的类可以存取.

Internal:访问仅限于当前程序集。只有当前工程可以存取.

protected internal:访问仅限于当前程序集或从包含类派生的类型。

private:访问仅限于包含类型。只有包含该成员的类可以存取.

 

二、继承

子类继承父类:子类拥有父类非私有的方法和属性

继承的优点为了代码的重用。
子类在继承父类的构造方法时会先调用祖先的构造的方法依次到本类为止。

屏幕截图 2023-08-18 210555

 

三、多态:
多态就是重载(行为多态)和重写(对象多态)
重载:在同一个类中,方法名相同,方法的参数数据类型顺序有一个不同
重写:子类重新定义父类方法。

下面是更多的区别:

定义不同---重载是定义相同的方法名,参数不同;重写是子类重写父类的方法

范围不同---重载是在一个类中,重写是子类与父类之间的

多态不同---重载是编译时的多态性,重写是运行时的多态性

返回不同---重载对返回类型没有要求,而重写要求返回类型,有兼容的返回类型

参数不同---重载的参数个数、参数类型、参数顺序可以不同,而重写父子方法参数必须相同

修饰不同---重载对访问修饰没有特殊要求,重写访问修饰符的限制一定要大于被重写方法的访问修饰符