類的宣告
類修飾符 class 類名
常用修飾符:
new
僅允許在巢狀類宣告時使用,表明類中隱藏了由記類中繼承而來的 與基類中同名的成員
public
不限制對該類的訪問
protected
只能從其所在類和所在類的子類進行訪問
internal
只有其所在類才能訪問
private
只有.net中的應用程式或庫才能訪問
abstract
抽象類 不允許建立類的例項
sealed
密封類 不允許被繼承
字段:類中變數或者常量 字段屬於類級別的變數 c#將其初始化為預設值,而區域性變數不會被初始化為預設值
列舉:宣告一組具有相同性質的常量
宣告格式:
enum 列舉名
定義列舉時,如果不對其進行賦值,預設情況下第乙個列舉數的值為0,後面每個列舉數的值一次遞增1,其中 value1,value2 資料型別為int
屬性:宣告格式修飾符 型別 屬性名
屬性擁有getter setter方法(訪問器)
屬性名的第乙個字母通常大寫
用途:限制外部類對類中成員的訪問許可權
方法方法引數說明:
值引數:正常傳引數
ref
:引用傳參,但是引數在傳入前必須被賦值,注意:在方法宣告和呼叫時候都必須顯式用ref
out
:引用引數,但是引數在傳入前可以不被賦值,在方法體內部out引數值必須被賦值.注意:在方法宣告和呼叫時候都必須顯式用out
params
其修飾的是乙個一維陣列,呼叫時,也是傳入乙個陣列
base關鍵字作用:訪問基類成員(呼叫基類已經被重寫的成員,呼叫基類的建構函式)
子類的例項都是父類的例項,但不能說父類的例項是子類的例項
多型思想:將父類物件應用於子類,再通過該物件呼叫子類方法
多型實現:
第一種:抽象類abstract
抽象類:包含抽象方法的類
第二種:介面inte***ce
介面概念:由抽象方法組成的集合,可以有屬性
實現介面時,必須實現介面所有成員
使用:一般用介面繼承的物件去例項化介面,然後用該介面物件去呼叫方法
第三種:虛方法virtual
重寫:override
抽象類和介面區別:
1.介面只能包含抽象的方法和屬性,而抽象類可以有具體實現的方法
2.抽象類可以包含字段建構函式等
3.介面的成員全部是公有的,而抽象類不是
密封修飾的類不能被繼承 修飾的方法不能被重寫
密封方法:只能用於對基類的虛方法機型實現,因此sealed
和override
總是同時使用
一般是封裝一組相關的變數,並且不能例項化欄位.可以有建構函式.結構可以實現介面
索引器相當於特殊的屬性,可以通過引用陣列元素的方法來引用物件,索引器的宣告與屬性類似,區別是所引起在宣告時需要定義引數
C 物件導向程式設計複習
向上型別轉換 派生類轉換為基類型別 靜態繫結,早繫結 實現多型用動態繫結,繫結推遲到程式執行時,c 中用虛函式實現 非靜態成員函式可以宣告為虛函式,虛函式繫結是根據物件型別確定的 派生類定義的虛函式引數表與基類不同,在派生類中會隱藏基類的虛函式。函式名與參數列相同,返回型別不同,編譯器報錯 建構函式...
物件導向的複習
物件導向通過函式 封裝得到乙個類,備註 類的本質還是函式 1 每個類 函式 天生有乙個 prototype 的屬性,這個 prototype 又是乙個物件,這個物件裡面有個 construction 建構函式 的屬性,屬性值是類本身。2 我們所有 new 乙個類的時候,其實是呼叫它的建構函式。建構函...
物件導向複習
function class1 複製 class class2 複製 function teacher teacher.prototype.beat 打學生 function student var s1 new student console.log s1 student console.log ...