本文介绍: 如果实际类型不一致(woman不能转man),编译没问题,但是运行出错。满足就近原则,父类引用调用一个父类子类的同名属性,默认。父类引用不能直接使用子类特有的内容,所以需要向下转型‘不能直接调用子类里的方法和属性,编译通不过。调用重写的方法,就会执行子类重写的方法。编译看引用表面类型,执行看实际变量类型。因为引用是父类的,调用的就是父类的属性。父类引用指向子类对象。
99-面向对象(进阶)-面向对象的特征三:多态性_哔哩哔哩_bilibili
1.多态(仅限方法)
2.父子同名属性是否满足多态?不满足
满足就近原则,父类引用调用一个父类子类的同名属性,默认调父类的属性。
因为引用是父类的,调用的就是父类的属性
3.为什么要多态
4.多态弊端
不能直接调用子类里的方法和属性,编译通不过
5.向下转型
向下转型和强转的用法很类似
6.转型可能导致异常,因此需要判断instanceof
如果实际类型不一致(woman不能转man),编译没问题,但是运行出错。
需要判断实例类型 ,
golang的断言就类似于这里的instanceof + 强转
原文地址:https://blog.csdn.net/m0_50973548/article/details/134627896
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_3285.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。