首先我要说的是,封装、继承、多态并不是针对C#语言提出来的,他是一个在面向对象思想下产生的一个概念。
所以想要弄明白封装、继承、多态,首先就要先了解面向对象概念。
1.封装:当我们提及面向对象的时候,这个对象怎么来?就是通过我们人为的封装得来。封装就是把一些特征或功能组合到一个抽象的对象上。
就比如说电脑:它的特征是有一个显示屏,有一个主机,有鼠标和键盘等等。功能有计算等。那我们把这些特征和功能组合到“电脑”这个
抽象的名词上时,“电脑”于是就有了这些特征和功能。但这个“电脑”不是实物,它代表所有名叫“电脑”的实物的名称。在C#中,
我们把封装好的抽象的名词叫"class",所以我们称“电脑”叫一个类(class),而实体电脑叫这个类的对象(或者叫实例)。
2.而继承、多态则是类的特性。
继承:这个词就用正常的语义来解释就可以了,比如说你继承了你父亲的优点。而在C#中类也是可以继承的(单继承),比如说我们有了
“电脑”这个类,现在我们再定义一个类叫“联想电脑”,难道我们要把电脑的特征、功能再定义一遍?可以是可以的,但是这样一方面代码
有点重复,另一方向也不方便管理和说明“联想电脑”的特征。所以我们可以让“联想电脑”继承于“电脑”这个类,我们称“联想电脑”为
“电脑”的子类或派生类,而“电脑”叫做父类或基类。这样,只要“电脑”有的东西,“联想电脑”都有,但是“联想电脑”还可以进化出
(再添加)自己特有的东西。所以,父类(基类)为子类(派生类)的子集。
3.多态:类的多态性主要指类成员方法的多态。有方法的重载、重写和隐藏,这些东西只要你多写点代码理解了语法后就很容易撑握的。
你可以从怎样在类中实现方法的重载、重写和隐藏开始。