簡述c繼承和多型的含義及其實現方法

時間 2021-07-20 17:09:16

1樓:你猜我猜哇擦猜

一、封裝:

封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在一個個的單元中(我們稱之為類)。被封裝的物件通常被稱為抽象資料型別。

封裝的意義:

封裝的意義在於保護或者防止**(資料)被我們無意中破壞。在物件導向程式設計中資料被看作是一箇中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它的函式意外的修改。

封裝提供了一個有效的途徑來保護資料不被意外的破壞。相比我們將資料(用域來實現)在程式中定義為公用的(public)我們將它們(fields)定義為私有的(privat)在很多方面會更好。私有的資料可以用兩種方式來間接的控制。

第一種方法,我們使用傳統的存、取方法。第二種方法我們用屬性(property)。

使用屬性不僅可以控制存取資料的合法性,同時也提供了“讀寫”、“只讀”、“只寫”靈活的操作方法。

訪問修飾符:

private:只有類本身能存取.

protected:類和派生類可以存取.

internal:只有同一個專案中的類可以存取.

protected internal:是protected和internal的結合.

public:完全存取.

二、繼承:

繼承主要實現重用**,節省開發時間。

1、c#中的繼承符合下列規則:

繼承是可傳遞的。如果c從b中派生,b又從a中派生,那麼c不僅繼承了b中宣告的成員,同樣也繼承了a中的成員。object類作為所有類的基類。

派生類應當是對基類的擴充套件。派生類可以新增新的成員,但不能除去已經繼承的成員的定義。

建構函式和解構函式不能被繼承。除此之外的其它成員,不論對它們定義了怎樣的訪問方式,都能被繼承。基類中成員的訪問方式只能決定派生類能否訪問它們。

派生類如果定義了與繼承而來的成員同名的新成員,就可以覆蓋已繼承的成員。但這並不因為這派生類刪除了這些成員,只是不能再訪問這些成員。

類可以定義虛文法、虛屬性以及虛索引指示器,它的派生類能夠過載這些成員,從而實現類可以展示出多型性。

2、new關鍵字

如果父類中宣告瞭一個沒有friend修飾的protected或public方法,子類中也宣告瞭同名的方法。則用new可以隱藏父類中的方法。

3、base關鍵字

base 關鍵字用於從派生類中訪問基類的成員:

呼叫基類上已被其他方法重寫的方法。

指定建立派生類例項時應呼叫的基類建構函式。

三、多型

1、多型:同一操作作用於不同的物件,可以有不同的解釋,產生不同的執行結果。在執行時,可以通過指向基類的指標,來呼叫實現派生類中的方法。

編譯時的多型性:

編譯時的多型性是通過過載來實現的。對於非虛的成員來說,系統在編譯時,根據傳遞的引數、返回的型別等資訊決定實現何種操作。

執行時的多型性:

執行時的多型性就是指直到系統執行時,才根據實際情況決定實現何種操作。c#中,執行時的多型性通過虛成員實現。

編譯時的多型性為我們提供了執行速度快的特點,而執行時的多型性則帶來了高度靈活和抽象的特點。

2、實現多型:

介面多型性。

繼承多型性。

通過抽象類實現的多型性。

3、override關鍵字:

重寫父類中的virtual修飾的方法,實現多型。

2樓:木葉小邪

物件導向的三大特性: 封裝、繼承、多型;一句兩句說不清楚

c#中的封裝 繼承 多型 分別是什麼意思?

3樓:可以叫我表哥

一、封裝:

封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在一個個的單元中(我們稱之為類)。被封裝的物件通常被稱為抽象資料型別。

封裝的意義:

封裝的意義在於保護或者防止**(資料)被我們無意中破壞。在物件導向程式設計中資料被看作是一箇中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它的函式意外的修改。

封裝提供了一個有效的途徑來保護資料不被意外的破壞。相比我們將資料(用域來實現)在程式中定義為公用的(public)我們將它們(fields)定義為私有的(privat)在很多方面會更好。私有的資料可以用兩種方式來間接的控制。

第一種方法,我們使用傳統的存、取方法。第二種方法我們用屬性(property)。

使用屬性不僅可以控制存取資料的合法性,同時也提供了“讀寫”、“只讀”、“只寫”靈活的操作方法。

訪問修飾符:

private:只有類本身能存取.

protected:類和派生類可以存取.

internal:只有同一個專案中的類可以存取.

protected internal:是protected和internal的結合.

public:完全存取.

二、繼承:

繼承主要實現重用**,節省開發時間。

1、c#中的繼承符合下列規則:

繼承是可傳遞的。如果c從b中派生,b又從a中派生,那麼c不僅繼承了b中宣告的成員,同樣也繼承了a中的成員。object類作為所有類的基類。

派生類應當是對基類的擴充套件。派生類可以新增新的成員,但不能除去已經繼承的成員的定義。

建構函式和解構函式不能被繼承。除此之外的其它成員,不論對它們定義了怎樣的訪問方式,都能被繼承。基類中成員的訪問方式只能決定派生類能否訪問它們。

派生類如果定義了與繼承而來的成員同名的新成員,就可以覆蓋已繼承的成員。但這並不因為這派生類刪除了這些成員,只是不能再訪問這些成員。

類可以定義虛文法、虛屬性以及虛索引指示器,它的派生類能夠過載這些成員,從而實現類可以展示出多型性。

2、new關鍵字

如果父類中宣告瞭一個沒有friend修飾的protected或public方法,子類中也宣告瞭同名的方法。則用new可以隱藏父類中的方法。

3、base關鍵字

base 關鍵字用於從派生類中訪問基類的成員:

呼叫基類上已被其他方法重寫的方法。

指定建立派生類例項時應呼叫的基類建構函式。

三、多型

1、多型:同一操作作用於不同的物件,可以有不同的解釋,產生不同的執行結果。在執行時,可以通過指向基類的指標,來呼叫實現派生類中的方法。

編譯時的多型性:

編譯時的多型性是通過過載來實現的。對於非虛的成員來說,系統在編譯時,根據傳遞的引數、返回的型別等資訊決定實現何種操作。

執行時的多型性:

執行時的多型性就是指直到系統執行時,才根據實際情況決定實現何種操作。c#中,執行時的多型性通過虛成員實現。

編譯時的多型性為我們提供了執行速度快的特點,而執行時的多型性則帶來了高度靈活和抽象的特點。

2、實現多型:

介面多型性。

繼承多型性。

通過抽象類實現的多型性。

3、override關鍵字:

重寫父類中的virtual修飾的方法,實現多型。

4樓:定復

封裝嗎···簡單說就是比如private修飾的那些,然後還可以用屬性來提供get和set,這東西一下說不清,也可以說是對外可見的程度吧·····

繼承,比如你父母生你,你身上有你父母的特點,也有你自己的特點,你繼承了你父母的特點這就是繼承,意思一樣,多型·······這個你要自己找東西理解了····

5樓:匿名使用者

和c#無關,多查查物件導向的資料吧。

6樓:可愛鬼蠱殘狼

分別代表這種東西的好壞

簡述封裝、繼承、多型的特點

7樓:匿名使用者

面相物件bai的三大特

性:1、封裝:該du隱藏zhi的隱藏,該公開dao的公開。

一般來說物件的內屬性應該隱藏,方容法應該公開 的,還應有訪問屬性的方法。好處在於可以對屬性的訪問進行很好的控制。”private”私有的、別人不可用的, 對應的是公共的“public”。

如果方法也要隱藏,就只能隱藏方法的實現,不能隱藏方法的宣告,方法實現隱藏的好處在於:不會很大程度上影響到方法的架構。eg:

//測試封裝

public class testencapsulation}class creditcard{

private string password="123456";//定義一個私有

物件導向的三大特徵(封裝,繼承,多型)通俗一點怎麼理解c#結合

8樓:匿名使用者

實際上物件導向還有其他重要的特徵,國內的教材都只是說三大特徵。

封裝:1.指將資料和相應的函式放到一起形成一個類的過程。相當於將操作結構體的函式放到結構體中。

2.指利用一切語言特徵將類的實現細節隱藏起來的過程。

繼承:就是在寫**的過程中,常常會發現某些現有類有些方面有很大相似性(比如實現類似的功能、擁有相同的函式等等),這時候我們建立另外一個類(基類、父類)來描述這種相似性,所有派生自該基類的派生類都具備這種相似性。通過繼承,我們在一個類(或者一個類層次結構中)描述了不同類之間的相似性,因此減少了**的冗餘性,不然相同的概念要在不同地方重複。

多型:這個概念是與繼承密切相關的,是指同一個成員函式在不同的派生類中有不同的行為(定義),也就是描述了相似中的差異。

c#中請說明類的三大特性,並舉例說明類的繼承和多型。

9樓:匿名使用者

以控制元件來說

封裝來:你用那些控制元件自,只需要

呼叫bai具體的屬性和方法du,對怎麼呈現的根本zhi不需要了dao解,這就是封裝

繼承:有個control基類,封裝了常用的方法和屬性,所有控制元件都是繼承自它,而且都會有這些屬性和方法,這就是繼承

多型:control類是繼承自object,object有個tostring()方法,但是你每個控制元件呼叫一次就會知道,輸出字串是不一樣的,因為它們內部重寫(override)了tostring()方法.每個控制元件還有很多同名,但不同引數或者不同返回值的方法(過載),這就是多型

10樓:袁嫣曹琪睿

1:封裝的性:是物件導向的基礎,物件導向系統的封裝性其實是一種資訊的隱藏技術,內

2:繼承的本容

質是實現**重用,因而繼承機制能縮短軟體的開發週期,加快程式設計速度3:多型性是物件導向系統的重要特性,對於同一訊息,它可以根據傳送訊息的物件的不同採用

多種不同的處理方式。

c 裡,多型和繼承有什麼關係?請舉例說明

有了繼承,指向基類型別的指標或引用就可以被用來指向派生類型別的物件。然後就可以編寫程式來操縱這些指標或引用而不用考慮它們所指向的物件的實際型別。用一個基類指標或引用來操縱多個派生型別的能力被稱為多型性。在c 中,多型性分為兩種,一種稱為編譯時多型,另一種為執行時多型分別解釋下 1.編譯時多型,也就是...

誰能簡述認識主體和認識客體的含義及其關係

司馬刀劍 實踐和認識的主體是指具有思維能力 從事社會實踐和認識活動的人 客體則是指實踐和認識活動所指向的物件.主體和客體的關係,從根本上說是認識關係和實踐關係.辯證唯物主義認識論認為,主體和客體的關係不僅僅是認識和被認識的關係,而且也是改造和被改造的關係 主體反映客體的過程,也是主體改造客體的過程....

簡述會計的含義及其特點急急急,簡述會計六大要素的含義,特徵和主要內容

會計的概念 會計是以貨幣為主要單位,反映與監督一個單位經濟活動的一種經濟管理工作 會計按其報告物件不同,可分為財務會計與管理會計 財務會計 主要側重於向企業外部關係人提供有關企業財務狀況 經營成果和現金流量情況等資訊 側重於過去資訊 管理會計 主要側重於向企業內部管理者提供進行經營策劃 經營管理 和...