被private修饰的父类属性,子类可以通过继承父类中的setName方法设置,这是为什么?

在面向对象编程中,子类继承了父类的全部成员(包括属性和方法),但是父类中被private修饰的属性,子类似乎无法直接访问。然而,通过继承父类中的setName方法,子类却可以给自己设置被private修饰的属性。

要理解这一现象,需要明白一个关键概念:子类实例既是子类类型,又是父类类型。

子类没有继承自父类的private属性,但它自己是父类类型,因此它拥有父类类型的属性。而public方法继承自父类类型,所以子类通过调用setName方法,实际上是修改了它属于父类类型这一面的私有属性。

以上就是子类如何通过继承的setter方法修改父类私有属性?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部