2010-07-24 73 views
0

有人可以向我解釋類和類的實例之間有什麼區別。 如果我只能在程序中使用某個類的一個實例,我可以像實例一樣使用類,並在方法聲明中用(+)更改所有( - )。類和實例方法有什麼區別。由於Objective-C該類的類和實例之間的差異

+0

Dup:http://stackoverflow.com/questions/1053592/objective-c-class-vs-instance-methods – 2010-07-24 03:05:51

回答

1

這似乎是幾個問題:

  1. 是什麼類和類的實例之間的區別?
  2. 如果我只能使用該類的一個實例會怎麼樣?
  3. 類和實例方法有什麼區別?

首先,類和類的實例之間的區別在於,一個類是一個實例的規範。該類將始終存在,但您必須創建一個實例才能使用該類的實例方法。該類是創建實例併爲其提供方法的。


其次,「如果我可以使用程序的類只有一個實例」是永遠不會到來了局面。您可以根據需要製作儘可能多的課程實例(硬件允許)。


三,類和實例方法之間的區別是,你必須創建一個實例使用實例方法,類方法是類提供,而無需創建從類的對象只是有用的功能。實例方法對特定實例的屬性/字段進行操作,而類方法僅接受獨立於任何實例的輸入和返回值。

+0

謝謝你。第二個問題還不清楚,我剛纔問過我的程序中是否只有一個實例(我不需要更多)我是否需要創建該實例,或者我可以使用類並重新創建所有即時方法,如類方法。 – moldov 2010-07-24 04:42:03

+0

moldov:兩者都可以工作,但創建單個實例並使用返回單個實例的'+ [Something sharedSomething]'方法更爲常見。 – rpetrich 2010-07-24 06:24:04

0

請訪問Cocoa Design Pattern Singleton for single instance of class。

+0

謝謝。其實我是OOP的noob,所以模式的東西應該對我有用。我會通讀 – moldov 2010-07-24 04:45:01