封裝
乙個類中:一些字段,屬性,方法等不想全部可以被呼叫,在外面又需要呼叫這些資源。
這時就需要在類中有乙個特定的入口和出口,在外面呼叫入口,出口返回這個私有的資源。
如:class a
set }}
//name是乙個私有的資源,我們定義乙個公開的nmae來實現,訪問私有的name。
//這個私有的資源可以是字段,屬性,也可以是方法,類。
繼承
子類b繼承父類a,那麼子類b也就可以呼叫父類a的資源。
所有的類都預設繼承objiect類,所以所有的類都具有objiect類的資源。
多型
a類和b類都有乙個開啟txt檔案的方法。
a可以1秒讀取100個檔案。
b可以1秒讀取1000個檔案。
同是 讀取 的功能,但能力的執行結果卻不相同。
同乙個能力,在不同的物件中有著不同的結果,這就是多型。
例子:public class 類
set
}//在本程式集中可被訪問,其他程式集引用時,無法訪問
internal void a()
//公開
public string this[int i]//索引器
set
}//虛方法
public virtual void aa()
}public class b : 類, id
//b() : base()//呼叫父類中的建構函式
//public void b1()
public string b = "123456";
//重寫
public override void aa()
//隱式使用介面
public void d1()
public void d2()
}public class bb : c, id
public string b = "123456";
//呼叫抽象類中的方法
public override string c2()
//顯式的使用介面
void id.d1()
void id.d2()
}///
/// 抽象類
///
public abstract class c
public abstract string c2();
}///
/// 介面
///
public inte***ce id
抽象方法和介面中的方法中,都是沒有可實現的方法體的。
抽象類不能被例項化,只能被繼承時,呼叫其方法。
類b和類bb中都實現了介面id,所以b和bb中有了相同的方法名,但這個方法究竟會得出什麼樣得結果
就要看實現這個類中,自己中的 方法體 是怎麼寫的了。
由此我們定義了,d1和d2兩個方法,但沒有具體的實現,
只有引用了這個介面的類,才可以把 具體的實現的功能 寫上。
隱式使用介面和顯式使用介面的區別:
b b1= new b();
//b1可以呼叫d1()和d2()
id ib1 =new b();
//ib1只能呼叫d1()和d2()
bb b2= new bb();
//b2不能呼叫d1()和d2()
id ib2 =new bb();//ib2只能呼叫d1()和d2()
藍色字型為鏈結
物件導向 封裝 繼承 多型
物件導向 封裝 繼承 多型物件導向 封裝 一 封裝 private 資料型別 名字 成員變數 public 預設一致 名字 屬性 set 類中不僅可以有成員變數和屬性,還可以有成員方法 訪問修飾符 4個 public 公共的,任何地方都可以訪問,但是需要引用 命名空間 private 私有的,類的內...
C 物件導向(封裝,繼承,多型)
c 封裝繼承多型總結 物件導向的三個基本特徵 物件導向的三個基本特徵是 封裝 繼承 多型。其中,封裝可以隱藏實現細節,使得 模組化 繼承可以擴充套件已存在的 模組 類 它們的目的都是為了 重用。而多型則是為了實現另乙個目的 介面重用!封裝 什麼是封裝?封裝可以隱藏實現細節,使得 模組化 封裝是把過程...
物件導向程式設計(封裝 繼承 多型)
1 保證 資料的安全性 2 遮蔽 複雜性 3 封裝型別 普通 封裝成方法 方法都封裝在乙個類中。using system namespace lesson01 public void close class mainclass 1 被繼承類 父類 基類 繼承類 子類 派生類 2 子類可以擁有父類的全...