正文 物件導向 封裝,繼承,多型

2021-08-17 14:22:59 字數 1785 閱讀 4223

封裝

乙個類中:一些字段,屬性,方法等不想全部可以被呼叫,在外面又需要呼叫這些資源。

這時就需要在類中有乙個特定的入口和出口,在外面呼叫入口,出口返回這個私有的資源。

如: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 子類可以擁有父類的全...