結構宣告的方式
public struct 結構名
結構宣告的位置
將結構宣告到命名空間的下面,類的外面,表示這個命名空
間下,所有的類都可以使用這個結構。
結構的使用
初始化結構成員可通過兩種方式來完成
一是使用引數化建構函式,即使用new關鍵字
二是在宣告結構後分別訪問成員(如果只給部分字段賦值會報錯)
結構名 變數名=new 結構名();
列舉宣告方式:
[public] enum
列舉名值1,
值2,值3,
public:
宣告位置:將列舉宣告到命名空間的下面,類的外面,表示這個命名空間下,所有的類都可以使用這個列舉。(列舉就是乙個變數型別), int double string decimal.只是列舉宣告、賦值、使用的方式跟那些普通的變數型別不一樣 。
型別轉換
列舉與int 相互轉換
要獲得列舉的值,只要轉換為string型別.
列舉與string相互轉換:
如果將字串轉換成列舉型別則需要下面這樣一行**:
(要轉換的列舉型別) enum. parse (typeof (要轉換的列舉型別),」要轉換的字串");
如果轉換的字串是數字,則就算列舉中沒有,也會不會拋異常。
如果轉換的字串是文字,如果列舉中沒有,則會丟擲異常。
屬性的使用
_name
public 對應字段 屬性名(name)
;set;
}建構函式
建構函式是乙個特殊的方法
1)、建構函式沒有返回值,連void也不可以寫、必須public
2)、建構函式的名稱必須跟類名一樣。
new關鍵字
1)在記憶體中開闢空間
2)在開闢的空間中建立物件
3)對物件進行初始化,將各個屬性值賦值
繼承的目的:
①提高了**的重用性,
②提高程式設計的效率:
③為程式設計中的特別需要提供了編寫**的自由空間,從而提高了已有程式設計成果的可擴充套件性.
類繼承注意的規則:
①單根性
②傳遞性(檢視類圖)
③派生類定義與基類同名的成員,則覆蓋基類成員;(使用new關鍵字)
④派生類自然繼承基類的成員,但不能繼承基類的建構函式的成員。
//建構函式
//子類中不能繼承父類中的建構函式,但是會預設地呼叫父類中的無參的建構函式
//兩種方法.
//1)在父類中再寫乙個無參的建構函式,在每個子類當中都需要再進行-次建構函式的重寫與各個欄位的
//2)使用關鍵字base()
public sales(string name,string department ,intsaletarget):base(name,department)
sealsd 關鍵字
封閉類的繼承
唯一的限制是抽象類無法作為封閉的類
資料的封裝
意義:封裝的意義在於保護或者防止**(資料)被我們無意中破壞。防止對實現細節的訪問。
c#中通常將方法或者其他資料成員均封裝在-乙個類中,具體地,封裝使用訪問修飾符來實現。乙個訪問修飾符定義了乙個類成員的範圍和可見性。
訪問修飾符:
public公開的
任何公有成員可以被外部的類訪問
private只能在當前類的內部訪問,類成員的預設修飾符
只有同樣乙個類的函式可以訪問它的私有成員。即使是類的例項也不可以訪問它的私有成員
protected 受保護的只有當前類內部或子類可以訪問
允許子類訪問他的基類的成員變數和成員函式,有利於繼承
internal只能在當前專案中訪問.在同乙個專案中internal和public的許可權相同
protected +internal
允許乙個類將其成員變數和成員函式對同-一應用程式內的子類以外的其他的類物件和函式進行隱藏。這也被用於實現繼承。
修飾類的訪問修飾
1.能夠修飾類的訪問修飾符只有兩個: public、internal.
2.可訪問性不一-致。
子類的訪問許可權不能高於父類的訪問許可權。
類的多型
在c#中可以通過多種途徑實現多型性。
虛方法:將父類的方法標記為虛方法,使用關鍵字virtual,此方法在子類中可以重寫(使用關鍵字override)
抽象類與抽象方法:如果我們不需要使用父類建立物件,它的存在只是為供子類繼承。可以將父類寫成抽象(關鍵字abstract)類,將父類方法寫成抽象方法,子類中的方法仍用關鍵字override重寫。
類結構 屬性
相同點 定義變數的格式 資料型別 變數名 變數值 先宣告後使用 變數都有其對應的作用域 不同點 在類中宣告的位置不同 屬性 直接定義在類的一對 內 區域性變數 宣告在方法內 方法引數 塊內 構造器形參 構造器內部的變數 關於許可權修飾符的不同 屬性 可以在宣告屬性時,指明其許可權,使用許可權修飾符 ...
結構體模板與類模板小結(2018 4 27)
include include using namespace std template struct node 宣告結構體模板 template class node node void add after t e void add before t e int num sum void add ...
類與物件小結
1.類是乙個模板 抽象 物件是乙個具體的例項 2.方法的定義與呼叫。3.物件的引用 引用型別 基本型別 8 物件是通過引用來操作的 棧 堆 4.屬性 字段 field 成員變數 預設初始化 數字 0 0.0 char u0000 boolean true or false 引用 null 修飾符 屬...