基类和派生类

之前我学习C#的时候,基础知识什么大概看一遍,然后就直接看项目。这样的好处是当你碰见一个基础的知识的时候,你可以再去翻课本----大家可以看出这没什么好处的,基础理论弄不清,好多编码都看不明白的,真的非常契合那句话--磨刀不误砍柴工,慢慢的磨,不要放弃,不要好高骛远。当然这也是对我自己的警告!废话少说直接切入正题,由于现在是偷着学的,公司让弄报价表,例子暂时不举了。派生类顾名思义就是从基类派生来的,比如动物是基类(顺便提下抽象类,比如人,人有好多种中国人,美国人,非洲人,但我们需要一个基类来表示所以只能抽象出一个人的基类来,这个基类人很抽象的,两个胳膊两个腿一个脑袋等),基类的作用是供你派生类来使用,C#中总的基类就是Object,这个是微软写好的,供大家来使用的,这里要说的就是这个使用问题

1派生的类和基类可以互相调用,但是基类只能调用派生类中调用了的基类的属性或方法,比如牛调用了动物基类的吃,那么基类也可以调用牛中的吃 Animal  myAnimal=maycow;myAnimal。eatFood();显然调用myAnimal.moo();则不对的。

2接着1当然基类的变量可以转换成派生类的变量,调用派生类的方法,就如把动物装换成牛,然后有了牛的功能Cow myNewCow = (Cow)myAnimal;
myNewCow.Moo();

以上叫做类的多态性,我们还可以扩展不必非得是基类和派生类,只要他们在某个层次上有个一个共同的类的话,他们就可以利用这个多态性,由于他们都是派生于一个根本类Object,所以这就是打印屏幕命令可以处理多种组合,但是你要注意1的这种情况以及参数的属性转换,所以这个多态性是一个整个类的多态性

3派生类不能访问基类的私有成员,所有基类应该设成公共的,但是如果设成公共的,所有的别的代码就都可以访问了,不安全了,所有引入了protected 这样这个类只能被派生类引用了

原文地址:https://www.cnblogs.com/mamiyiya777/p/5818414.html