什麼是裝箱和拆箱?
答:裝箱是從值型別到引用型別的隱式轉換;
拆箱是從引用型別到值型別的顯示轉換
什麼是過載和重寫
答: overload:過載就是在同乙個類中,方法名相同,引數列表不同。引數列表不同包括:引數的個數不同,引數型別不同等。
override:說的是兩個類繼承,子類重寫父類的方法,在呼叫的時候,子類的方法會覆蓋父類的方法,也就是會呼叫子類的方法。在父類中的方法必須有修飾符virtual,而在子類的方法中必須指明override。
說說抽象方法和虛方法的相同點與不同點。
答:抽象方法是只有定義,沒有實際方法體的函式,它只能在抽象函式**現,並且在子類中必須重寫;
虛方法則有自己的函式體,已經提供了函式實現,但是允許在子類中重寫或覆蓋。
介面和抽象類的區別是什麼? 答:
介面中只能宣告方法,屬性,事件,索引器。
不能包含字段、建構函式、析構函式、靜態成員或常量
。抽象類中可以有方法的實現,也可以定義非靜態的類變數。
抽象類只能被單繼承,介面可以實現多個。
抽象類可以提供某些方法的部分實現,介面不可以。
抽象類的例項是它的子類給出的。介面的例項是實現介面的類給出的。
抽象類中加入乙個方法,抽象類的子類就同時有了這個方法。
介面中加入新的方法,實現該介面的類需要重新編寫。
介面成員被定義為公共的。
抽象類的成員可以是私有的、受保護的
、內部的或受保護的內部成員。
介面用於規範。抽象類用於共性。
c#用多種修飾符來表達類的不同性質。根據其保護級c#的類有五種不同的限制修飾符,
請寫出三種並指出它們之間的區別是什麼?
答:
public 可以被任意訪問
protected只可以被本類和其繼承子類訪問
internal只可以被本程式集內所有的類訪問,其編譯後的副檔名往往是「.dll」或「.exe」。
protected internal唯一的一種組合限制修飾符,它只可以被本組合體內所有的類和這些類的繼承子類所訪問。
private只可以被本類所訪問。
類和物件的區別和關係是什麼?
答:類是物件的抽象,它為屬於該類的全部物件提供了統一的抽象描述。
類是物件的模板,物件是類的例項
靜態欄位和非靜態欄位的區別?答:
靜態字段使用static 修飾;非靜態不用。
靜態字段屬於類,為所有物件共用;非靜態字段屬於物件,為物件專用。
靜態字段使用類名來訪問;非靜態字段使用物件來訪問。
抽象方法和虛方法的區別?答:
抽象方法使用
abstract
修飾,只有定義,沒有方法體實現,只能出現在抽象類中,子類必須重寫;
虛方法使用
virtual
修飾,有方法體實現,允許子類重寫或覆蓋。
如何區別過載方法?
答:在乙個類中,方法名字相同,引數不同;包括不同的引數個數,不同的引數型別,不同的引數順序
構造方法有哪些特徵?
答:(1)函式名與類名相同;
(2)沒有返回值型別;
(3)系統自動呼叫
簡述變數的命名規則
答:由數字、字母和下劃線組成,不能以數字開頭,不能是關鍵字。
什麼是抽象類和密封類(最好簡述一下它們都有什麼特點)
答:抽象類用abstract修飾,能夠包含抽象成員。抽象類不能直接例項化,也不能被密封,只能作為其它類的基類。
密封類用sealed修飾,不能用作基類。因此,它也不能是抽象類。密封類主要用於防止派生。
解釋virtual、sealed、override和abstract的區別
答:virtual
宣告虛方法的關鍵字,說明該方法可以被重寫;
sealed說明該類不可被繼承;
override重寫基類的方法;
abstract
宣告抽象類和抽象方法的關鍵字,抽象方法不提供實現,由子類實現,抽象類不可例項化。
c 簡答題題庫 C 簡答題集錦
c 簡答題集錦 問題1 什麼是演算法?演算法應包括哪兩部分?答 所謂演算法,是指為解決乙個問題而採取的方法和步驟,或者說是解題步驟的精確描述。演算法應包括設計演算法和執行演算法兩部分。問題2 結構化程式設計的特徵是什麼?答 結構化程式設計方法從程式設計思想上要求自頂向下,逐步求精 從程式的具體結構上...
C 中常見的簡答題(第三天)
主要是開啟程式和資料庫之間的連線。沒有利用連線物件將資料庫開啟,是無法從資料庫中取得資料的。close和dispose的區別,close以後還可以open,dispose以後則不能再用。主要可以用來對資料庫發出一些指令,例如可以對資料庫下達查詢 新增 修改 刪除等指令,以及呼叫存在資料庫中的儲存過程...
C 簡答題集錦
1.物件導向的三大特性 封裝 把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。繼承 就是讓乙個型別的物件擁有另乙個型別的物件的屬性的方法。多型 同乙個型別的物件在執行同乙個方法時,可以表現出多種行為特徵。2.請列出c 中幾種迴圈的方法,並指出他...