鱼C论坛

 找回密码
 立即注册
查看: 788|回复: 2

[已解决]子类和父类同一属性的变量名可以不一样吗?

[复制链接]
发表于 2024-3-2 09:30:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
第060讲:类和对象课后作业

最后一题帮开餐馆的小花开发一个点餐程序

答案代码中类meet 和Vegetable定义的属性是nums,但后面类Menu调用时又变成了num,为何同一个属性变量名可以不一样呢?

最佳答案
2024-3-2 11:13:22
不是不一样,nums 和 num 是两个玩意
Screenshot 2024-03-02 092521.png
Screenshot 2024-03-02 092622.png

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-3-2 09:30:35 | 显示全部楼层
在面向对象编程中,子类是从父类继承而来的,子类可以拥有父类的属性和方法。当子类想要重新定义父类的属性时,我们通常会使用与父类不同的变量名,以避免混淆。这是因为子类可以添加自己的属性,而不会影响父类的属性。

在答案代码中,类Menu调用了类meet和Vegetable中定义的nums属性,但使用了不同的变量名num。这是因为在Menu类中,我们可能希望对nums属性进行特殊处理或者重载,使其具有不同的行为。为了避免与meet和Vegetable类中的nums属性混淆,我们给它起了一个不同的名字。

当然,如果你不需要对父类的属性进行特殊处理,也可以直接使用与父类相同的变量名。不过,这样做可能会导致代码可读性降低,容易出错。

综上所述,子类和父类同一属性的变量名可以不一样,这是为了方便子类对属性进行特殊处理或者重载。但建议在实际编程中尽量保持命名一致,以提高代码可读性。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-2 11:13:22 | 显示全部楼层    本楼为最佳答案   
不是不一样,nums 和 num 是两个玩意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 07:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表