【发布时间】:2012-03-16 11:33:27
【问题描述】:
这里的第一个问题,我已经四处搜索,恐怕我不知道我正在尝试做什么的确切术语 - 如果已经被问到,请不要攻击我.指出正确的方向,我会继续阅读。
我有课:
“形状”(NSObject 的)
“形状”的子类包括:
"circle" 等 - 每个都有各自的 calcArea(calculate area) 方法。
我的子类工作得很好,因为个人获得了“Circle”类来设置 ivars(使用“Shape”中的“Shape”方法并继承它们,然后使用这些方法计算面积。
我想做什么: 我希望能够为“形状”对象设置参数。然后,我希望这些参数向下渗透到每个子类(“圆”、“三角形”等),以便我可以输入两个参数,它可以为我提供每个子类的所有面积和周长计算。例如,每个子类方法都是相同的“calcArea”。
理论:
-蛮力通过在我的主要方法中使用 2 个变量来重置每个子类的每个参数。 这看起来效率很低,但确实有效。
- 使用“id”,基本上使该对象通过每个子类在“Shape”中创建参数,然后循环遍历每个子类,直到全部完成。尝试了几件事,无法弄清楚。
- 在“Shape”中创建一个对象,然后执行其子类的每个功能 - 从我读过的内容来看,这听起来很糟糕,超类不应该知道他们的子类做什么......我可以在“Shape”中创建一个方法吗" 执行 [myCircle calcArea] 和 [myTriangle calcArea]?
-我设计这个程序是错误的。
提前感谢您的帮助!
【问题讨论】:
标签: objective-c oop methods subclass superclass