第一個問題在這裏,我四處搜索,恐怕我不知道我正在嘗試做什麼確切的術語 - 請不要'如果它已經被詢問,就不會攻擊我。指向正確的方向,我會閱讀。Objective-C,難以正確地繼承ivars到子類和方法
我有類別:
「形狀」(中NSObject的)的「形狀」
子類包括:
「圓」等 - 每個具有其各自的油杉(計算區域)的方法。
我的子類工作帶來極大的個人獲得一流的「圈」來設置實例變量(在「形狀」使用「形狀」的方法和繼承它們,然後使用這些計算面積
我想要做什麼。 我希望能夠爲「Shape」對象設置參數,然後我希望這些參數能夠滴流到每個子類(「Circle」,「Triangle」等),這樣我可以輸入兩個參數,計算每個子類的所有面積和周長,每個子類方法都是相同的「calcArea」,例如:
理論:
-Brute通過在我的主要方法中使用2個變量來重置每個子類的每個參數。 這看起來效率很低,但是很有效。
-using「id」,基本上使這個對象通過每個子類在「Shape」中創建參數,然後遍歷每個子類直到所有子類都完成。嘗試了幾件事,無法弄清楚。
- 在「形狀」中創建一個對象,然後執行其子類的每個功能 - 這聽起來很糟糕,超類不應該知道他們的子類是什麼......我可以創建一個方法在執行[myCircle calcArea]和[myTriangle calcArea]的「Shape」中?
- 我正在設計這個程序是錯誤的。
在此先感謝您的幫助!
所以如果我正確理解你,我可以在SuperClass中創建方法,然後實際定義並在超類中啓動它。 - 這對我來說非常合理,但在這種情況下,身份證是如何工作的? 它似乎是啓動與「參數」作爲變量正確的類?但是如何在主函數中編碼呢? – thattookawhile 2012-02-26 22:08:24
id是指向對象內部結構的指針。您根本不應該擔心id - 它由運行時系統在內部使用。 – Max 2012-02-26 22:10:06
主要功能是什麼? – Max 2012-02-26 22:10:31