二十六、继承(九)通过继承 进行扩展:添加 新的个体变量

你  不但  可以通过添加  新的措施  对  一类物件  进行扩展,你  还  可以通过添加  新的个体变量  对  一类物件  进行扩展。无论  通过哪种方式  效果  都  是可以叠加的。你 无法将  继承而来的措施  和  变量  去除,但是  你  可以重写  继承而来的措施  或者  添加  新的措施  和  变量。

我们  回到  ClassA  和  ClassB这两类物件,并且  做出  一些修改。

文件ClassA.h:

文件ClassA.m:

文件ClassB.h:

文件ClassB.m:

文件main.m:

在这个程序当中  我  依然  创建了  ClassA  和  ClassB这两类物件。我们  可以看出来  每个ClassA类型的物件  都  包含  一个整数类型的变量x。由于  ClassB这类物件  属于 ClassA这一大类,所以  每个ClassB类型的物件  也都  包含  一个整数类型的变量x。除此之外  我  还  在ClassB这类物件当中  添加了  整数类型的变量y,于是  每个ClassB类型的物件  都  包含了  整数类型的变量x  和  y。

在主程序main()当中,我  创建了  一个ClassB类型的物件bObject。接着  我  对  bObject这个物件  采取了  initValue这项措施。这里采取的措施initValue  是  在ClassB这类物件中  重写的,而  不是  从ClassA这类物件当中  继承的。initValue这项措施  会将  物件bObject所包含的两个变量x  和  y  分别  设定为  200  和  300。最后  我  对  bObject这个物件  采取了  printValue这项措施,printValue这项措施  同样  是  在ClassB这类物件当中  重写的,而不是  从ClassA这类物件当中  继承的。这里采取的printValue这项措施  是  将  物件bObject所包含的两个变量x  和  y的值  分别  显示出来。

运行  这个程序后,可以得到  这样的结果:

这说明  ClassB这类物件  新添加的变量y  和  从ClassA这类物件中继承的变量x  确实  存在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值