最近在学接口,在网上总是会搜到“基类”的字眼,想想应该有类似的地方,所以就一起学习了一下。先说基类、派生类,个人理解就是类之间的继承 。直接上代码:
class entertainment { public void type() { Console.WriteLine("entertainment: This is a kind of entertainment"); } } class Shopping : entertainment { public void type() { Console.WriteLine("shopping (type) : Go shopping with my friends"); } public void type1() { Console.WriteLine("shopping (type1) : Go shopping "); } } class Hiking : entertainment { public void type() { Console.WriteLine("Hiking : Go hiking on Sunday"); } }
为了做区分,所以在实例化的时候,做了不同的对比:
static void Main(string[] args) { entertainment em=new entertainment(); Shopping sp = new Shopping(); Hiking hk=new Hiking(); entertainment ems = new entertainment(); ems=(entertainment)sp; em.type(); sp.type(); sp.type1(); hk.type(); ems.type(); }
跑出来的结果如下:
由最终结果可以看出:
1.派生类继承基类之后,就自动添加了基类的方法,对于会调用相同方法的类来说,这一点很方便。
2当派生类shopping继承基类entertainment之后,如果内部方法的名称与基类相同,默认输出的是派生类的结果,只有在强制转换之后才会输出基类的方法运行的结果,针对于这一情况,有一点不太明白,网上有很多讲到方法相同的时候隐藏基类方法,但是既然都已经默认是派生类的方法了,何必要再隐藏基类的呢?
以上是个人初学尝试之后的一些拙见与疑问,也请高手们帮忙解惑,方便大家共同进步 。