解釋類,物件,例項化,成員變數和成員方法的含義?

2024-12-31 22:25:15 字數 3355 閱讀 5397

1樓:網友

用乙個簡單的描述吧:相當於畫漫畫,類就是作者構思出乙個人物(這個人物有什麼特點,抽象的進行描述,但是不確定要畫成什麼樣子,只告訴你這個人有性格,有技能等,但具體是什麼就不知道);物件就是把構思好的這個人物畫出來(長什麼樣子,叫什麼名字,什麼性格,什麼技能都已經確定好了);例項化就相當於把構思出來的人物畫出來;成員變數相當於任務的各個屬性(長相,名字,技能等等);成員方法就相當於這個人物的行為(怎麼放技能,怎麼維護正義等等)。自己再去看看書好好理解一下吧,不焦不躁。

成員變數、例項變數和屬性變數的區別

2樓:世紀網路

1、成員變數是宣告在類{}中的。

2、例項變數其實是包含在成員變數中的一種,是有指標引用型別的可叫例項變數,其他的叫基礎資料型別變數。

3、屬性變數 @property會自動生成getter/setter方法,顫首銀並將生成乙個帶_的例項變數,比如:@property(nonatomic,copy)nsstring * name;

會生成_name成員變數供自己呼叫,外部類還是繼續可以使用name進行呼叫,也可呼叫生成的方法。

茄宴 4、屬性變數可以在。m檔案中使用 @synthesize name = othername; 可以將成員變數用新的名字替代,這時你便可以使用othername,name也不會生成。或者你不想呼叫_name,可以直接 @synthesize name = name 和更為簡潔的用 @synthesize name。

5、以下情況是不會自動合成的(使用 @synthesize )

1.同時重寫了setter/getter方法。

2.重寫了唯讀的getter方法。

芹棗 3.使用了@dynamic

4.在@protocol定義的屬性。

5.在category定義的屬性。

6.過載的屬性。

參考文章: ios 成員變數,例項變數,屬性變數的區別,聯絡 - jenaral - 部落格園。

類變數和例項變數區別

3樓:情感人生最為重要

1、是類變數是所有物件共有,其中乙個物件將它值改變,其他物件得到的就是改變後的結果。2、而例項變數則屬物件私有,某乙個物件將盯頌其值改變,不影響其他物件。

3、類變數是屬於是所有物件的,用例項變數是屬於某個物件的,類變數也叫靜態變數。

不需要通過建立例項就可以呼叫。

4、例項變數需要通過物件凱枝鄭來訪問,即需要建立物件後才能進行呼叫。

5、類變數在程式載入類的時候初始化,而且只初始化一次。

6、類變數是和該類建立的所有物件相關聯的變數,改變其中乙個物件的這個類變數就同時改變了其他物件的這個類變數。

7、類變數不僅可以通過某個物件訪問,也可以直接通過類名訪問。例項變數僅僅是和相應的物件關聯的變數,不同物件的例項變數互不相同,即分配不同的記憶體空間,改變其中搭或乙個物件的例項變數不會影響其他物件的這個例項變數。

類成員變數和例項成員變數分別指什麼有什麼區別(舉例說明)?

4樓:網友

例如定義乙個類:

class text

如果你想訪問temp屬性,你就必須先建立乙個text的物件,才能訪問:text b = new text();

這就是例項成員變數。

而你想 訪問number的話,不用建立text的例項就可以訪問,就像這樣:這就是類成員變數。

主要區別就是訪問是需不需要建立物件,而對於類成員變數,所有物件是共享乙個變數的。

5樓:網友

成員變數就是類裡面的變數,不區分static

沒有static的成員變數叫例項變數。

加了static就叫類變數,實際上和類沒啥關係,就相當於乙個寄生物一樣,而且除了類變數外,你喜歡叫全域性變數(public 修飾)、靜態變數都行。

最後他倆統稱類的成員變數。

class test

實際使用時,例項變數是存在於類的例項中的,例項就是通過類來建立的具體某個物件,這個物件會維護自身所有的例項變數,所以相同類的不同例項間去set同名例項變數是互不影響的。

也就是要訪問instance_var,需要先new乙個test物件test,再通過或來訪問例項變數。

而類變數則直接通過實際的類來進行訪問,也就是要訪問class_var,直接使用即可,該變數存在靜態區的某個固定位置(如果是靜態物件,則物件存在堆區,靜態區存的是指向該物件的位址),假設在多執行緒下同時訪問該變數,獲取的永遠是同乙份資料,比如乙個靜態的物件,多執行緒下獲取到的永遠都是指向同乙個物件。

類變數的使用也就引申出了多執行緒下類變數的安全性問題,比如乙個執行緒獲取到該變數後,另乙個執行緒修改了它,那麼原來的執行緒拿到的是舊值,以此為基礎所做的操作就很大概率會出現不正確的結果,也就引申出鎖和同步,也就是說乙個執行緒在操作這個公共資源時,會將該變數鎖住,禁止其他執行緒拿到修改該變數的許可權,當然拿修改許可權這部分是需要我們手動去寫的,**是不會乖乖地自己識別哪個公共資源被鎖的。

可能有沒講明白的地方,或是錯漏,請大家指正,多謝。

6樓:匿名使用者

例項成員變數:非靜態成員變數。

類成員變數:靜態成員變數。 對於這個類的任何例項都是一樣的值,不屬於某個例項,所以叫類的成員變數。

7樓:柏雅苼

……不在方法中定義的變數為成員變數。成員變數有兩種,有static修飾的為靜態成員變數,沒有static的為例項變數。

什麼是類變數,類方法,什麼是例項變數,例項方法?

8樓:江西小瘋子

類:寶馬x5

類變數:(例項變數就是給他乙個初始值)

輪子:4個。

車門:4個。

例項方法:void 設定車門數()

什麼叫例項變數?什麼叫類變數?它們之間的區別是什麼?

9樓:溫未鹹曼青

類變數是指乙個類的變數,通常為靜態變數,而例項變數通常是動態的。

類變數和例項變數的區別在於:類變數是所有物件共有,其中乙個物件將它值改變,其他物件得到的就是改變後的結果;而例項變數則屬物件私有,某乙個物件將其值改變,不影響其他物件。類變數是公共變數。

類變數,例項變數有什麼區別

10樓:山東中公優就業

1全部1、類變數也叫靜態變數,也就是在變數前加了static 的變數;

2、例項變數也叫物件變數,即沒加static 的變數;

3、區別在於:

類變數和例項變數的區別在於:類變數是所有物件共有,其中乙個物件將它值改變,其他物件得到的就是改變後的結果;而例項變數則屬物件私有,某乙個物件將其值改變,不影響其他物件;

如何初始化類物件陣列,JAVA中怎麼初始化物件陣列?

物件陣列是由預設建構函式 即無參建構函式 初始化的。因此,你的提供參建構函式。stu new student 5 這條語句定義了含有5個student物件的陣列,但沒有初始化,所以你要在類裡面加一個無參的建構函式 student 不知道你是從哪本書看到這麼一說的?建立物件的時候,就會呼叫預設建構函式...

定義了抽象類,但又需要抽象類的例項怎麼解決

你的後面那個問題沒看懂什麼意思,先回答你前一個。我覺得還是好解決的,在抽象類裡定義個抽象屬性,比如public abstract abs this在子類裡,override,並return 子類的this那麼父類引用this也是一個例項,執行時就引用的是子類的例項。抽象類能否定義物件例項?抽象類是不...

物種演替向著物種簡單化的方向進行的例項

我國的黃土高原就是一個典型的例子。原來是茂密的森林,由於人類的亂砍濫伐,導致水土流失,結果現在的黃土高原的物種多樣性比原來可少多了。怎麼群落演替的方向是否改變。是隻有變複雜和變簡單兩個方向,還是說只要處於不同階段方向就不一樣。比如 20 例子裡面的方向是一樣的,按照你的意思來說就是變複雜,方向改變就...