今天接着昨天没有描述完的继续,今天主要是学习下C#中的访问修饰符及面向对象的三大要素的学习。
所有类型和类型成员都具有可访问性级别,用来控制是否可以在程序集的其他代码中或其他程序集中使用它们。在声明类型或成员时使用以下访问修饰符之一来指定其可访问性
访问修饰符
public访问修饰符:英文意思是公共的,可以在应用程序的任何地方调用,其访问时不受限制的。这是在CSDN上的解释:同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。也就是说public修饰符可以跨程序集进行访问。
private:英文意思是私有的,只能在类的内部调用,任何对象的实例都不能访问private成员或方法。csdn上的解释:有同一类或结构中的代码可以访问该类型或成员。
protected:英文意思是受保护的。CSDN上的解释:只有同一类或结构或者派生类中的代码可以访问该类型或成员。 特别针对于继承,protected修饰符只对其子类开放。
internal:英文意思是内在的,内部的。CSDN上的解释:同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以。也可以说internal访问修饰符不能实现跨程序集的访问(在一个解决方案中,只能在其下某个应用程序中调用,不能跨整个解决方案中调用)。
protected internal:英文意思受保护的,内部的。csdn上的解释:同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。 其实可以简单的理解为是proteced修饰符与internal修饰符的相加。
面向对象的三大要素
封装:csdn上的解释:封装”意味着将一组相关属性、方法和其他成员视为一个单元或对象。对象可以控制更改属性和执行方法的方式。简单的说封装可以使得每个对象都包含它能进行操作所需要的所有信息,因此对象不必依赖其他对象来完成自己的操作。
简单说下封装的好处:1、利于代码的复用 2、代码易读 3、使得对象对外提供了清晰的接口 4、减少耦合 例如对字段的封装就是属性
继承:csdn上解释:基于现有类创建新类的能力。新类继承基类的所有属性、方法和事件,而且可用其他属性和方法自定义该新类。把共有的特性放在父类(基类)中,子类(派生类)可以继承父类(基类),共享父类的共有的特性。
注意:1、子类拥有父类除private的属性和功能 2、子类可以扩展父类没有的属性和功能 3、子类可以以自己的形式实现父类的功能(方法重写)
继承的好处:1、利于代码复用 2、代码易读
多态:简单理解为一个方法,多种形态。也可以说不同的对象可以执行相同的操作,但是它们都是通过自己的方法来实现(方法重写,实现多态)。CSDN上解释:意味着可以有多个可互换使用的类,即使每个类以不同方式实现相同属性或方法。多态性是面向对象编程的实质,因为它允许使用同名的项,而不管此时在使用什么类型的对象。
注意:1、子类以父类的身份出现 2、子类在工作时以自己的方式出现 3、子类以父类的方式出现时,子类特有的行为不能出现
多态的好处:1、代码复用 2、代码易读 3、易于扩展