1樓:呦呦看我
c#中的virtula是一個方法修飾符,標識可被覆載的方法。意思是指實際上的,實質上的,虛擬的,虛的。它是定義虛擬函式的關鍵字。virtual方法分為虛方法和抽象方法。
一、abstract抽象方法
abstract關鍵字只能用在抽象類中修飾方法,並且沒有具體的實現。抽象方法的實現必須在派生類中使用override關鍵字來實現。
abstract:抽象方法宣告使用,是必須被派生類覆寫的方法,抽象類就是用來被繼承的;可以看成是沒有實現體的虛方法;如果類中包含抽象方法,那麼類就必須定義為抽象類,不論是否還包含其他一般方法;抽象類不能有實體的。
二、virtual虛方法
virtual關鍵字用於在基類中修飾方法。virtual的使用會有兩種情況:
1、在基類中定義了virtual方法,但在派生類中沒有重寫該虛方法。那麼在對派生類例項的呼叫中,該虛方法使用的是基類定義的方法。
2、在基類中定義了virtual方法,然後在派生類中使用override重寫該方法。那麼在對派生類例項的呼叫中,該虛方法使用的是派生重寫的方法。
擴充套件資料
virtual用虛方法標記:
a、可在派生類中以override覆蓋此方法
b、不覆蓋也可由物件呼叫
c、無此標記的方法(也無其他標記),重寫時需用new隱藏原方法
abstract 與virtual : 方法重寫時都使用 override 關鍵字
介面可以通過類來實現,當類的基列表同時包含基類和介面時,列表中首先出現的是基類;類必須要實現其抽象方法。
介面定義以大寫字母i開頭。方法只定義其名稱,在c#中,方法預設是公有方法;用public修飾方法是不允許的,否則會出現編譯錯誤;介面可以從別的介面繼承,如果是繼承多個介面,則父介面列表用逗號間隔。
2樓:凡筱雲
c#中的virtula的意思是實際上的,實質上的,虛擬的,虛的。virtual是c++ oo機制中很重要的一個關鍵字,virtual方法分為虛方法和抽象方法。
一、virtual方法(虛方法)
virtual關鍵字用於在基類中修飾方法。virtual的使用會有兩種情況:
情況1:在基類中定義了virtual方法,但在派生類中沒有重寫該虛方法。那麼在對派生類例項的呼叫中,該虛方法使用的是基類定義的方法。
情況2:在基類中定義了virtual方法,然後在派生類中使用override重寫該方法。那麼在對派生類例項的呼叫中,該虛方法使用的是派生重寫的方法。
二、abstract方法(抽象方法)
abstract關鍵字只能用在抽象類中修飾方法,並且沒有具體的實現。抽象方法的實現必須在派生類中使用override關鍵字來實現。
abstract:抽象方法宣告使用,是必須被派生類覆寫的方法,抽象類就是用來被繼承的;可以看成是沒有實現體的虛方法;如果類中包含抽象方法,那麼類就必須定義為抽象類,不論是否還包含其他一般方法;抽象類不能有實體的。
3樓:匿名使用者
在基類(父類)中用virtual修飾符宣告一個虛方法,然後在在派生類(子類)中用override修飾符覆蓋基類虛方法。表明是對基類的虛方法過載。
這種優勢在於它可以在程式執行時再決定呼叫哪一個方法,這就是所謂的「執行時多型」
或者稱動態繫結。
4樓:匿名使用者
這是實現物件導向裡面最主要得特徵之一多型的重要途徑,用它定義的方法是虛擬的方法,在繼承自他的類重可用override來重寫這個方法來實現多型的特徵
5樓:
樓上的說對了.
virtual 放在方法前面就是說這個方法可以被派生的類用來重寫
也就是派生類可以重新寫一個與基類同名的方法..
6樓:我愛蘇銳
virtual關鍵字用於指定屬性或方法在派生類中重寫.
再寫點吧
預設情況下,派生類類從其基類繼承屬性和方法,如果繼承的屬性或方法需要在派生類中有不同的行為,則可以重寫它,即可以在派生類中定義該屬性或方法的新實現,這時在基類中該屬性或方法必須用virtual關鍵字修飾.virtual關鍵字用於指定屬性或方法時可以在派生類中重寫.具有virtual關鍵字的方法或屬性被稱作虛擬成員.
class a
}class b:a}
c#中做查詢 用dropdownlist ,如何設定預設值(**等 急。。。)
7樓:匿名使用者
this.ddltype.items.insert(0,new listitem("全部","-1");
給每個下拉框插入一項!value值為-1,你取值的時候判斷value是否為-1.是就不新增該欄位的限制,反之就新增!
8樓:
繫結資料的後,加上
listitem li = new listitem("all", "0");
dropdownlist1.items.insert(0, li);
c# this.suspendlayout有什麼作用
9樓:匿名使用者
為了防止layout事件的發生。這個事件將引發重新繪圖的事件,如果介面上控制元件較多的話,改變控制元件某些屬性時,由於不斷地重畫,效能變低,所以用suspendlayout來阻止。
resumelayou可以結束上面的限制。
c#怎麼定義lable陣列?
10樓:匿名使用者
你想定義的是 label標籤 陣列吧?
label labels=new label[2];//例如2個
for(int x=0;x 11樓: listlistlabel = new list(); label la1=new label(); listlabel.add(la1); 。。。。 c#怎麼把100個label控制元件加到一維陣列中,用陣列元素來操作屬性 12樓:匿名使用者 就是label陣列啊來,申明和其它數源組一樣 label a=new label[100];//宣告長度為100的label陣列 初始化後a裡面的每一個元素都是一個label,就像你說的a[0]就相當於label1,a[1]就相當於label2 呼叫陣列中的label就可以按序執行各種操作。 也可以申明一個listla=new list();label資料連結串列 你任何一個label控制元件都可以隨時插入其中,比如la.add(label1); la.add(label2);等,連結串列可以不用限定初始長度,隨入隨出。。用起來也很方便 你可以根據實際情況來選擇需求。 13樓:匿名使用者 首先你想幹什麼copy?再一個label在開發中說是控bai件,du在操作中說是對像 操作對像就行zhi 建議用for迴圈動dao態生成lable 生成的過程中進行屬性的操作 因為lable一旦生成就是控制元件了,再操作的話只能根據你生成時控制元件的名稱來操作,比如 for(i=1;=<5;i++) 操作時((lable)text2).text等屬性呼叫 14樓:匿名使用者 label arr = new label[100]; for(int i=0; ilist = new list(); for(int i=0; i<100; i++) 15樓:樂樂木頭人 string strarry; var labels=winform.findcotrllers("label"); for(i=0;i<100;i++) 怎麼在c#中的非窗體類中,改變窗體的控制元件(如label1的值)呢,謝謝 16樓:匿名使用者 在窗體類中新增靜態例項, 外部class即可以和窗體類解耦在任意位置呼叫窗體類獲取例項方法, 訪問窗體類控制元件當然需要外部訪問的控制元件必須是public, 或者遍歷窗體的controls class form1 : form public static form1 getinstance()}class chang} 17樓:匿名使用者 首先窗體和類要在同一個名稱空間中 class change() //非窗體類_la.text="改變";//可以修改了}//窗體內 public partial class frm : form{private change ch; ch=new change(... ,label1,) //窗體呼叫change類時把label1傳遞過去。} 18樓:匿名使用者 將要在其它類呼叫的控制元件label1宣告為public(可以在控制元件的屬性面板裡設定,預設為private的), 然後將 form1的例項傳給change例項可以建立一個建構函式 public class form1 :form}public class change()public void changelabel()} 19樓:匿名使用者 public class change(label mylable) 呼叫的時候: change(this.lable1); 定義一個int型的指標 例如 int p 定義一個指向int型變數的指標char p1 定義一個指向char型變數的指標int p2 定義一個指向int型指標的指標,即指向指標的指標 name本身是一個char 型的變數,就是一個指標,指向輸入的名字字串的首字元的地址。如果直接輸出name,輸出的就... 可空型別修飾符 引用型別可以使用空引用表示一個不存在的值,而值型別通常不能表示為空。例如string str null 是正確的,int i null 編譯器就會報錯。為了使值型別也可為空,就可以使用可空型別,即用可空型別修飾符 來表示,表現形式為 t?例如 int?表示可空的整形,datetime... 一般被稱作指標運算子 又叫反向取址運算子,與 作用相反 指標,其實就是一個變數,只是它的值是另一個變數或是常量的地址罷了,而 的作用便是把這個地址所存放的值取出,所以叫作反向取址運算子 int i,p i int q p 指向指標的指標。int i,p i int q p 指向指標的指標。哦,不同情...c 中的 int是什麼意思,C 中的 int 是什麼意思
C中的 是什麼意思,C 中 int 是什麼意思?
c中是什麼意思C中是什麼意思