導航:首頁 > 研究方法 > c什麼是抽象方法

c什麼是抽象方法

發布時間:2022-09-13 21:16:17

A. C#父類子類繼承多態虛方法抽象方法

多態是指兩個或多個屬於不同類的對象,對於同一個消息(方法調用)作出不同響應的方式。實現多態的方式:一、抽象類和抽象方法 1、 抽象類的語法: 訪問修飾符 abstrac class 類名 2、 父類中的方法: 訪問修飾符 abstrac 返回類型 方法();注意:含有抽象方法的類必然是抽象類。抽象類中的方法並不一定都是抽象方法。 抽象類是不能被實例化的。只能通過它的子類來實現該類的方法,除非它的子類也是一個抽象類。 抽象類不能是密封或者靜態的,抽象類被子類繼承並實現它的抽象方法。 3、重寫抽象方法: 訪問修飾符 override 返回類型 方法() 4、使用場合: A 父類提供了一個功能或者規定,約束子類的行為。 示例:Code
abstract public class Person
{
abstract public void SayHi();
}//子類
public class Student:Person
{
public override void SayHi()
{
//代碼省略
}
} public class Teacher:Person
{
public override void SayHi()
{
//代碼省略
}
}二、虛方法: 訪問修飾符 virtual 返回類型 方法() { //方法體 } 1、每個對象Object都有一個Equals()方法,用於確定兩個實例對象是否相等,它是一個虛方法,可以重寫這個方法。 public virtual bool Equals(Object obj) 默認情況下,Equals()方法只支持引用相等,也就是相比較的兩個對象是否引用同一個對象。 重寫Equals()虛方法如: public override bool Equals(object obj)
{
//將要比較的對象轉換為當前類型
Student target = obj as Student; //如果為空、類型不同
if (target == null)
return false; if (target.name == this.name &&
target.gender == this.gender &&
target.age == this.age &&
target.hobby == this.hobby &&
target.popularity == this.popularity)
{
return true;
}
return false;
}
2、虛方法和抽象方法的區別: A、修飾的關鍵字不同 B、父類中方法體的區別 C、重寫的區別(抽象方法必須override) D、抽象方法只能在抽象類中,而虛方法除了密封類外都可以寫3、方法重寫的條件: A、方法簽名必須一樣 B、訪問修飾符允許被放大 C、返回類型必須一樣 總結:面向對象的三大特徵 封裝:保證對象自身數據的完整性、安全性 繼承:建立類之間的關系,實現代碼復用、方便系統的擴展 多態:相同的方法調用可實現不同的實現方式三、方法重載 1、與重寫方法的區別 A、應用場合不同:如果父類中有abstract/virtual,才能被重寫,重寫方法要求類與類之間是繼承關系。 而重載沒有過多的要求。四、方法隱藏:父類和子類的方法都存在。五、靜態(satice)類/密封(sealed)類/抽象(abstract)類它們各自的特點:

B. c++類中的抽象,方法,介面,封裝是什麼意思請說的簡單點

抽象:把現實的對象屬性轉化成數據映射到類上
方法:就是函數,對成員的一系列操作
封裝:相當於一個
黑盒子
,用戶不需要看到裡面的東西
介面:基於封裝,只留給用戶使用的方法,這些方法就是介面

C. 什麼是抽象類和抽象方法

抽象類就是不能使用new方法進行實例化的類,即沒有具體實例對象的類。抽象類有點類似「模板」的作用,目的是根據其格式來創建和修改新的類。對象不能由抽象類直接創建,只可以通過抽象類派生出新的子類,再由其子類來創建對象。當一個類被聲明為抽象類時,要在這個類前面加上修飾符abstract。 在抽象類中的成員方法可以包括一般方法和抽象方法。抽象方法就是以abstract修飾的方法,這種方法只聲明返回的數據類型、方法名稱和所需的參數,沒有方法體,也就是說抽象方法只需要聲明而不需要實現。當一個方法為抽象方法時,意味著這個方法必須被子類的方法所重寫,否則其子類的該方法仍然是abstract的,而這個子類也必須是抽象的,即聲明為abstract。 抽象類中不一定包含抽象方法,但是包含抽象方法的類一定要被聲明為抽象類。抽象類本身不具備實際的功能,只能用於派生其子類。抽象類中可以包含構造方法,但是構造方法不能被聲明為抽象。 抽象類不能用final來修飾,即一個類不能既是最終類又是抽象類。 abstract不能與private、static、final、native並列修飾同一個方法。 程序舉例:abstract class Animal //定義抽象類 abstract void eat(); //定義抽象方法}class Horse extends Animal //定義繼承Animal的子類 void eat() //重寫父類的抽象方法 }class Dog extends Animal void eat() }class test}運行結果: 馬吃草料! 狗吃骨頭! 如果幫助到您,請記得採納為滿意答案哈,謝謝!祝您生活愉快! vae.la

D. C#中的抽象方法和虛方法有什麼區別

抽象方法是只有定義、沒有實際方法體的函數,它只能在抽象函數中出現,並且在子類中必須重寫;虛方法則有自己的函數體,已經提供了函數實現,但是允許在子類中重寫或覆蓋。
重寫的子類虛函數就是被覆蓋了。

E. 從C語言的角度來解釋什麼是抽象數據類型

簡單的說一下吧,所謂抽象數據類型ADT,是指
我們在邏輯上定義的
一種
數據類型。
如你所知道的,計算機內,無論是內存還是外存,都只是一組二進制的數位而已。
大多數時候,比如我們所熟知的
Char類型、Int類型等等,都是一組已經定義好的二進制數位。
所謂定義好,是指,在這一組數位中,如Char類型,8位,即一組8個二進制數位,我們如何標識和處理每一位,以及解讀每一位所代表的意義。
你學過C,應該知道ASCII碼,和二進制計數。
Char的這個數據類型的含義就是說
以二進制計數
算出對應的數值,
再以ASCII碼為標准,解讀出這8位二進制位中所表示的字母。
事實上,我想說的是,這就是一個基本的抽象數據類型了。
當然,ADT不僅僅是一組數位的定義,他還包括一組定義在這個結構上的一組操作。
struct這個方法,在後來的演變中,成為了C++和其他高等語言中的類(class)。
我知道,這樣講你肯定不是很明白,但關於這個東西,有一門課程叫做《數據結構》,中間詳細敘述了所有有關
抽象數據類型的概念

其中,有一本
《數據結構C語言版》清華大學出版社
嚴蔚敏著
的教材,是所有計算機專業學生必修的一門課程。你可以看看。
祝好運!

F. C++何為數據抽象呢請高手們幫忙詳細回答一下

抽象有兩種, 一種是數據抽象, 一種是行為抽象.
行為抽象是C++最重要的機制之一.

數據抽象:
int i = 5 ; // 你把5表示5個蘋果, 5倍關系等等, 這就是數據抽象.
// 用數據去表示事物,概念,關系

行為抽象:
比如, 任何錶現出迭代器行為的東西都是迭代器, 來自<<C++ standard library>>里的原話

所以vector<>::iterator是迭代器, list<>::iterator是迭代器, 指針int* p也是迭代器
迭代器有哪些行為?
有解引用操作, 如*iter = 10,
有成員訪問操作 iter->func(),
有遞增操作 ++iter
所以只要你定義一個類, 支持上述操作, 你的類就是一個迭代器, 如果你的類同時又具有容器的行為, 你的類也可以叫做容器. 當然這種異型不太可能生存在有意義的軟體環境中.

在C++中行為抽象一般有兩種實現機制:

在面向對象的編程中, 使用介面
通常定義一個抽象類作為介面, 比如 class shape{ virtual void draw() ;}
任何繼承該介面的子類, 都強制性的具有draw()行為, 所以任何子類都可叫做shape

在泛型編程中, 通常使用策略
策略是隱式介面, 在C/C++其實就等於convention(約定), 比如我們約定變數i開頭表示int類型
template< typename T>
void draw( const T& sp )
{
sp.draw() ; // 由於策略是隱式的, 只要求T具有draw()行為, 而不要求T之間有任何繼承關系
}

抽象 = 提取共性, 忽略無關
所以
class polymorph
{
void draw() ; // polymorth是一個shape, 因為圖形的行為共性是draw()
// 圖形或許還有move(), scale()行為, 但是在這里我們忽略掉, 對我們不重要
void drive() ; // polymorth是一部汽車, 因為汽車的行為共性是drive()
// 汽車還有stop(),但是...
} ;

閱讀全文

與c什麼是抽象方法相關的資料

熱點內容
電腦操作方法要教給上司嗎 瀏覽:445
goodnote閃退解決方法 瀏覽:881
大烏龜編織方法視頻 瀏覽:364
包皮環切器使用方法 瀏覽:862
大蝦宴的製作方法視頻 瀏覽:929
教師資格證常用的心理輔導方法 瀏覽:529
如何確定工資發放方法 瀏覽:252
艾滋哪種治療方法副作用小 瀏覽:332
華為運營商顯示在哪裡設置方法 瀏覽:596
餐飲利率的計算方法 瀏覽:182
好的引流方法怎麼形容 瀏覽:852
顯微鏡的使用方法口訣 瀏覽:110
釣鮁魚的線組方法圖片 瀏覽:266
小米6定位哪裡設置方法 瀏覽:274
簡單幸運繩的編織方法 瀏覽:427
糖尿病高危人群計算方法 瀏覽:199
煤氣燃燒器安裝方法 瀏覽:281
貔貅怎麼佩戴好貔貅佩戴方法詳解 瀏覽:297
榮耀截屏在哪裡設置方法 瀏覽:832
花膠的正確泡發方法 瀏覽:841