黑馬程式設計師 關於黎克特制替換原則 型別轉換

2021-06-18 00:50:10 字數 2272 閱讀 2478

-------

windows phone 7手機開發

、.net培訓

、期待與您交流! -------

chinese ch = new chinese();

// 1、 當需要乙個父類型別物件的時候,可以給乙個子類型別的物件

//將ch傳遞給person型別,發生了隱式型別轉換

do(ch);

//person p = new person();

//當需要乙個子類型別物件,給乙個父類型別物件是不可以的

//do1(p); //報錯

//1 就相當於需要乙個double型別的,但是卻給了個int型別的值,這裡就發生了隱式轉換

int n = 10;

double d = n; //隱式型別轉換

static void do(person p)

static void do1(chinese chi)

}public class person

}public class chinese : person

}public class jangxi : chinese

public class nanchangren : jangxi

chinese c = new chinese();

c.classid = "1111";

//把子類型別賦值給父類型別,發生了隱式型別轉換

person p = c;

//把父類型別變數賦值給子類型別,需要顯示型別轉換。前提是如果這個父類型別變數p中,指向的是乙個子類物件,那麼可以顯示型別轉換,如果p指向的不是chinese,則顯式轉換會報錯,轉換失敗。

chinese cn1 = (chinese)p;

console.writeline(cn1.classid);

//----------判斷型別--------------

//為了避免顯示型別轉換出錯,可以先用if判斷

person p = new chinese();

//假如new的這個型別為person,那麼p不屬於chinese型別。所以則是輸出型別不匹配

person p = new person();

p.name = "張三";

//判斷乙個物件是否屬於某個型別

//這裡進行一次型別驗證

if (p is chinese)

else

//--------型別轉換as---------

person p = new person();

//as只進行一次型別轉換

chinese ch = p as chinese;

console.writeline(ch.classid);

console.readkey();

#region 驗證某個物件是否為某個型別

nanchangren ncr = new nanchangren();

//gettype是通過反射實現的

console.writeline(ncr.gettype().tostring());

console.writeline(ncr.gettype().basetype.tostring());

console.writeline(ncr.gettype().basetype.basetype.tostring());

console.writeline(ncr.gettype().basetype.basetype.basetype.tostring());

console.writeline(ncr.gettype().basetype.basetype.basetype.basetype.tostring());

//object是沒有父類的,所以它的父類是null

console.writeline(ncr.gettype().basetype.basetype.basetype.basetype.basetype.tostring());

console.readkey();

#endregion

-------

windows phone 7手機開發

、.net培訓

、期待與您交流! -------

黑馬程式設計師 型別轉換

一 隱式轉換,從型別a到型別b的轉換可以在所有情況下進行,執行轉換的規則非常簡單,可以讓編譯器執行轉換。參與運算 算數運算和賦值運算 的運算元和結果型別必須一致。當不一致時,如兩種型別相容且目標型別大於原型別時,系統自動完成型別轉換,在自動轉換中是不會丟失精度的。二 顯式轉換,從型別a到型別b的轉換...

黑馬程式設計師 型別轉換

每個函式都可以強制將乙個表示式轉換成某種特定資料型別。自動 隱式 型別轉換不會導致資料丟失。資料型別在資料結構中的定義是乙個值的集合以及定義在這個值集上的一組操作。變數是用來儲存值的所在處 它們有名字和資料型別。變數的資料型別決定了如何將代表這些值的位儲存到計算機的記憶體中。在宣告變數時也可指定它的...

黑馬程式設計師 C 指標型別

1.指標的作用 能夠根據乙個位址值,訪問對應的儲存空間 include int main 指標變數p前面的int 指標變數p只能指向int型別的資料 int p int a 90 指標變數p指向了變數a p a printf d n a return 0 2.指標的使用注意 a.指標變數只能儲存位址...