-
常見的例項化方法:
a=new a() 通過建構函式建立型別為 a 的例項,這是最常見的方式)。
a=new b() 可以理解為指代乙個帶有父類的子類物件,其中 b 繼承了 a,並且不理解黎克特制量表下的替換原理)。
a= 呼叫其他類的 instance 方法建立乙個 a 型別的例項,多用於在執行時動態建立例項,可以理解 c() 方法體是 a=new a(); return a;)
a= (程式被設計為堅持高內聚和低耦合,因此它們有時被設計為將乙個物件巢狀在另乙個類中,這個表示式意味著對類 B 物件中屬性 C(類 A 的物件引用)的引用被分配給類 A 物件的引用)。
您不必死記硬背所有的例項化方式,它非常靈活。 隨著你對 .net 平台的了解越來越多,你很快就會了解這些表示式的本質,如果你學習了設計模式,你就會明白為什麼要這樣做。
-
解釋: 1, a a = new a();
這是 c 語法。
2. 但有時你可以看到這樣的例項化,例如,a a = c(另乙個類的例項)。d() (類中的方法);
它等效於另乙個類,構建乙個物件。 一般設計模式將涉及:
3.還有一種c,它是另乙個類的例項d()(類中的方法) = new a();
is = 新 a(); 是嗎? 如果是,則物件 C 中存在物件 A 的屬性。 = new a();是例項化的 C 物件中的 A 物件。
-
a a = new b c d e ..
這裡有很多很多是遺傳的多型關係。 當你學習它時,你會發現的。
-
new a() 在記憶體中分配乙個類 A 的物件空間,然後 a a = 該空間,它將 a 的指標指向由 new a() 和 c(另乙個類的例項)分配的空間。d()(類中的方法)也在記憶體中分配乙個類空間,所以指向乙個沒有問題。
c(另乙個類的例項)。d()(method in class) = new a()這應該是錯誤的,如果 d 不是方法而是變數,則不應該這樣分配方法。
-
a a = c(另乙個類的例項)。d() (類中的方法);
方法 d() 返回類 A 的例項。
-
只要你掌握了竅門。
-
樓上的兩位已經講解過了,我給大家舉個例子,相當於流程製造,有乙個手工藝品的模具(相當於乙個類),例項化就相當於用這個模具生產出對應的手工藝品。。然後,您可以對此工件(物件)進行進一步的處理和使用。 有些屬性只有在例項化後才能知道,比如嬰兒的體重,雖然都屬於嬰兒的範疇,但只有出生時才知道有多重。
但是,本專欄有一些共同的屬性,例如,鑽石戒指上鑽石的切工,在設計中確立了某個系列戒指的鑽石切割比例和款式,可以根據戒指的型號直接獲得該系列戒指的鑽石切工款式和鑽石重量, 而且您不需要製造戒指。(這就是我們所說的靜態變數和方法,它們在設計時考慮到了類,並且屬於該類的屬性,而不僅僅是物件)。
具體例項化了什麼? 它必須是對物件屬性的一系列初始化操作。 另乙個例子是養育嬰兒。
嬰兒也一樣,有的天生體重7斤,有的5斤...... 這是例項化的乙個很好的比喻...... 體重是嬰兒的屬性之一......
軟體工程中最重要的工具之一是隱喻和類比。
順便說一句,我建議你看看《**大全》這本書。
-
new 出來並例項化,如果你賦值,你將首先例項化物件,然後將物件的屬性賦給那些公共屬性。 然後通過建構函式將屬性傳遞給 private,您就可以開始了。
-
例項化物件實際上是建立物件的過程;
您希望在類中使用方法。 如果類是靜態的,那麼 OK,可以直接呼叫此方法。
但是,如果類不是靜態的呢?
您需要使用物件引用此方法。 那麼這個物體是如何產生的呢? 是時候更新了。
示例:要在類 B 中呼叫,則在類 A 中呼叫 aa() 方法。
然後,在呼叫 stem 方法之前,必須建立乙個物件 a。
a a = new a();
不知道大家聽懂不懂?
-
所謂的 C 例項化物件是乙個新物件。 例如,class1 c=new class1(); 這是例項化,它呼叫 class1 無引數建構函式。
它也可以是:class1 c=new class1("admin"),因此它使用乙個引數呼叫 class1 建構函式。
簡而言之,例項化是建立物件然後為其分配值的過程。
-
考慮現實生活中的例子。
類就像房子的圖紙,例子就像是用圖紙建造的房子,當我們使用它們時,例如,使用它們"房子"之"辦理登機手續"功能,或使用"房子"之"人數"財產,那麼前提必須有這個真實的房子,而不僅僅是有這樣的圖紙。 所以我們需要按照圖紙來建造房子,這個過程叫做例項化,就是生成乙個類的例項(或物件)
但同時,有時候我們會看到類的成員(static members)是直接使用的,沒有生成物件,也可以這樣理解,圖紙上有房子的長、寬、高,只要按照這個圖紙建造房子, 它的長、寬、高一定是這個值,那麼這個值就直接標在圖紙上,當我們想得到這個值的時候,我們不需要先蓋房子,然後用它,而是可以直接從圖紙中獲取,也就是我們不需要例項化乙個物件。
在這種情況下,靜態成員(屬性方法字段),比較常用的比如 datetime 類中的 now 屬性,我們不需要例項化乙個 datetime 物件,我們可以直接呼叫 now 屬性來獲取當前時間。 實際上,靜態成員不能通過例項物件訪問,而必須通過類本身訪問。
-
例如,我們人類可以定義乙個類。
class person 屬性。
public
string
名字; public
string
性; public
string
年齡; public
string
職業; public
string
空腹進食(無論布林是否餓)。
在這個人的班級中,方法、屬性是我們所有人共有的特徵;
例項化,人類 mr771083842=new
人 ("mr771083842");
然後,你就有了這些屬性和方法的例項,你可以為你的屬性賦值、取乙個值或吃掉乙個值。 比如。
mr771083842.性; "雄";
mr771083842.吃(是);
餓了,吃吧。
哈哈,這麼囉嗦,不知道大家能不能聽懂。
-
您應該始終了解如何宣告變數。
也許“類”和“基本資料型別”之間的類比會更好理解。
例如:int a = 2, b = 3, c; c = a + b;將 int 視為類,將變數 abc 視為 int 的物件,並宣告該變數稱為例項化。
其實 int 也是乙個類,int a; 它也可以寫成 int a = new int(); 之
因此,例項化乙個類就是為該類宣告乙個變數,中國人稱之為物件。
類只有在例項化時才有意義和真實(靜態成員和方法除外)。
即,int a; 其中 int 是抽象的,而 a 實際上儲存在記憶體中。
只有實際存在的東西才是可操作的,比如 c = a + b,沒有人會把它寫成 c = int + int。
總之,乙個類相當於乙個資料型別,例項化的過程相當於宣告變數的過程。
答案是肯定的。。 這只是乙個類比。 它應該被稱為例項化,它必須被稱為例項化。 看起來很專業。。
至於有沒有新的區別,就像int a; 和 int a = 1; 區別。
student stud;記憶體中有乙個空間用於螺柱,但那個空間裡什麼都沒有,就像貼上乙個標籤,告訴你這個空間只能用於學生物品。 student stud = new student();在標記的同時,將乙個物件分配給 stud,即 new student()。
就是這樣。
物件導向程式設計的核心是將一些常見的東西組合在一起,並將它們抽象為乙個型別。 這樣做的好處是,你可以將現實中所有常見的東西抽象成型別,然後程式就可以根據你抽象定義的型別,根據你的指令將它們例項化為具體的東西。 >>>More
它是如何不例項化的? 你的句子( private static final person p = new person() 不是例項化了嗎? 當你呼叫這個類的方法時,程式會先呼叫(private person())方法,並賦值name,然後將物件賦值給p。 >>>More