C 泛型類訪問子類成員

2021-08-11 15:45:49 字數 710 閱讀 6680

要處理的問題是父類物件不能訪問子類物件的字段。

進入正題:

有兩個類,乙個父類乙個子類。解決的問題是要在例項化之後可以訪問子類成員。

父類:

public class student

子類:

public class college:student

}

例項化:

liststudends = new list();

studends.add(new college("aaa",20));

studends.add(new college("bbb", 19));

string school = studends[0].school;

//int age = studends[0].age; 報錯,不好訪問子類字段

listcollegestudent = studends.cast().tolist();

int age = collegestudent[0].age; //訪問

定義的students是父類物件,而訪問的age欄位是子類字段。父類物件不能直接訪問子類字段,所以要進行轉換。

這裡利用cast()方法將父類集合轉換成子類集合。

當然也可以用迴圈語句取出所有的父類物件,乙個乙個轉。

父類中訪問子類成員

一般情況下來說,父類的中的成員往往是最委屈的,子類要是有個同名 僅僅需要名字一樣 成員,自己的成員就會被隱藏,子類還可以訪問自己的非私有成員,但是自己想訪問子類中的成員就不行,當子類與自己有同名的成員時,訪問到的是自己的成員,沒有同名成員時意圖直接訪問子類成員則直接報錯 這是何等悲慘,為此,我們應該...

C 泛型 泛型類擴充套件

泛型 更準確的使用一種以上的型別 方式 泛型允許我們宣告型別引數化的 我們可以用不同的型別進行例項化 也就是說,我們可以用 型別佔位符 型別引數 來宣告,然後在建立例項時提供真實型別 泛型不是型別,而是型別的模板 c 提供了5種泛型 類 結構 介面 委託和方法。前面四個是型別,方法是成員。一 泛型類...

C 泛型 建立泛型類 例子

public class linkedlistnode public t value public linkedlistnodenext public linkedlistnodeprev public class linkedlist ienumberable public linkedlistn...