1樓:匿名使用者
如果你用override,則無論呼叫的是a類還是b類中的test(),系統都會找到它實質類的test();
如果是用的new,則可以通過型別轉換呼叫到基類的test();
下面是override的情況:
a a = new a();
b b = new b();
a a1=new b();
a.test();//呼叫a中test();
b.test();//呼叫b中test();
a1.test();//呼叫b中test();系統會自動識別a1是b的例項
((a)b).test();//與上面相同下面是new的情況:
a a = new a();
b b = new b();
a a1=new b();
a.test();//呼叫a中test();
b.test();//呼叫b中test();
a1.test();//呼叫a中test();
((a)b).test();//與上面相同
2樓:匿名使用者
new 是替代原有的,override是在原由方法的基礎上增加**.在override中可以自己決定是否通過"base."+ 系統原來的方法名 執行系統原有的方法.
new中就完全是自己的**了
你上面的例子中應該呼叫b方法中的test方法
3樓:匿名使用者
new 是新建立,override是過載已經有的,常用與過載類的事件
c#中void與override區別是什麼
4樓:匿名使用者
void 指方法沒有返回值。
override是重寫,這是對父類
的一個定義好的方法的重寫。
例如:class newbase//定義一版個類}class anewbase : newbase}
5樓:匿名使用者
這兩個完全就不是一個道上的東西的。。
void 表示函式沒有任何返回值版,
而override則是表示重寫一個函權數的,這個多在類裡面用的比較多的。在類裡面進行函式的重寫的,然後實現另外的或者額外的功能的。。
6樓:匿名使用者
void 指方法的返回值。是無返回值的型別,
override是重寫,這是對類的操作,可以對方法的重寫。
7樓:匿名使用者
這兩個沒有可比性!實在要說的話也是overload與override的區別!這個網上太多了!面試的經典題
C 中的new函式怎麼用,C 中new的用法
1.new的作用是從自由儲存為 類 的物件或物件陣列分配記憶體,並將已適當分類的非零指標返回到物件。比如 char pchar new char 10 delete pchar 例子中動態分配了10個char型別的記憶體給了pchar,來構成一個陣列。需要注意的是,分配陣列採用 如果只是單個的只要n...
c 中NEW運算子的用法,C 中new的用法
c 中new運算子使用的一般格式為new 型別 初值 用new分配陣列空間時不能指定初值。如果由於記憶體不足等原因而無法正常分配空間,則new會返回一個空指標null,使用者可以根據該指標的值判斷分配空間是否成功。 吾不笑 new int 開闢一個存放整數的儲存空間,返回一個指向該儲存空間的地址 即...
new delete的用法,c 中new和delete的用法
一 new的用法 1.new 分配這種型別的一個大小的記憶體空間,並以括號中的值來初始化這個變數 2.new 分配這種型別的n個大小的記憶體空間,並用預設建構函式來初始化這些變數 例子 include include using namespace std int main 輸出結果 hhello ...