里氏转换

2018-06-24 00:10:10来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

里氏转换

之前匆匆忙忙学过里氏转换,但是又忘了,今天写下博客来记录吧。

概念:1 可以将子类对象(派生类)赋值给父类(基类)对象

      父类:Person person=new Child();

      例子:

    

   上图就是一个简单例子:将字符串数组ABC通过分隔符“|”进行分割,结果如黑窗口所示。

重点:请看红笔划得地方,join("分隔符","params object[]value"),本来join方法里的参数是object类型的数组,但是这里却改写为string[]{...}

原因:object是父类,而string是子类,可以将子类直接赋值给父类。

        2 如果父类里放的是子类对象,那么就可以将父类对象强制转化为子类对象。

        Person person=new Child();

       Child child=(Child)person;

 例子:

这个例子主要就是定义了父类person ,子类student,teacher, person类型的数组,里面存放了子类对象(student,teacher),和本类对象(person)。

当遍历数组,想输出各个对象的方法。请看红笔划的地方,将父类对象(sj[i])强转为子类,然后输出子类的方法。这就验证了里氏转换的第二个原则。

                 这篇文章的内容也是看了视频所写,旨在记录学习的过程,如有错误,还望指正,谢谢。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何调用common.js

下一篇:线程 线程池 Task