最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

C/C++編程筆記:C++中的面向?qū)ο缶幊?!帶你C++入門

2021-04-08 21:25 作者:C語言編程__Plus  | 我要投稿

面向?qū)ο缶幊台C顧名思義,在編程中使用對象。面向?qū)ο蟮木幊讨荚谠诰幊讨袑?shí)現(xiàn)諸如繼承,隱藏,多態(tài)等現(xiàn)實(shí)世界的實(shí)體。OOP的主要目的是將數(shù)據(jù)和對其進(jìn)行操作的功能綁定在一起,以便除該功能外,代碼的其他任何部分都無法訪問此數(shù)據(jù)。

面向?qū)ο缶幊陶Z言的特征


:導(dǎo)致面向?qū)ο缶幊痰腃 ++構(gòu)建塊是一個(gè)類。它是用戶定義的數(shù)據(jù)類型,它擁有自己的數(shù)據(jù)成員和成員函數(shù),可以通過創(chuàng)建該類的實(shí)例來訪問和使用它們。類就像對象的藍(lán)圖。

例如:考慮汽車類別??赡苡性S多不同名稱和品牌的汽車,但它們都會(huì)共享一些共同的屬性,例如所有汽車都有4個(gè)車輪,速度限制,里程范圍等。因此,這里的汽車是類別和車輪,速度限制,里程是他們的屬性。

類是具有數(shù)據(jù)成員和成員函數(shù)的用戶定義的數(shù)據(jù)類型。

數(shù)據(jù)成員是數(shù)據(jù)變量,成員函數(shù)是用于操縱這些變量的函數(shù),這些數(shù)據(jù)成員和成員函數(shù)共同定義了類中對象的屬性和行為。

在上面的Car類示例中,數(shù)據(jù)成員將是限速,里程等,并且成員功能可以施加制動(dòng),增加速度等。

我們可以說C ++中的是代表一組對象的藍(lán)圖,這些對象具有一些共同的屬性和行為。

對象:對象是具有某些特征和行為的可識別實(shí)體。對象是類的實(shí)例。當(dāng)定義了一個(gè)類時(shí),不分配內(nèi)存,而是在實(shí)例化(即創(chuàng)建對象)時(shí)分配內(nèi)存。


對象占用內(nèi)存中的空間,并具有關(guān)聯(lián)的地址,例如Pascal中的記錄或結(jié)構(gòu)或C中的并集。

執(zhí)行程序時(shí),對象通過相互發(fā)送消息進(jìn)行交互。

每個(gè)對象都包含數(shù)據(jù)和用于操縱數(shù)據(jù)的代碼。對象可以進(jìn)行交互而不必知道彼此的數(shù)據(jù)或代碼的細(xì)節(jié),知道對象接受的消息類型和對象返回的響應(yīng)類型就足夠了。

封裝:通常,封裝被定義為將數(shù)據(jù)和信息包裝在一個(gè)單元內(nèi)。在面向?qū)ο蟮木幊讨?,封裝被定義為將數(shù)據(jù)和操縱它們的功能綁定在一起。

考慮一個(gè)封裝的真實(shí)示例,在公司中,有不同的部分,例如帳戶部分,財(cái)務(wù)部分,銷售部分等。財(cái)務(wù)部分處理所有財(cái)務(wù)交易,并保留與財(cái)務(wù)相關(guān)的所有數(shù)據(jù)的記錄。同樣,銷售部門處理所有與銷售有關(guān)的活動(dòng),并保留所有銷售記錄?,F(xiàn)在可能會(huì)出現(xiàn)這樣的情況,當(dāng)財(cái)務(wù)部門的官員出于某種原因需要某個(gè)特定月份的所有銷售數(shù)據(jù)時(shí)。在這種情況下,不允許他直接訪問銷售部分的數(shù)據(jù)。他將首先必須聯(lián)系銷售部門的其他人員,然后要求他提供特定數(shù)據(jù)。這就是封裝。


用C ++封裝

封裝還導(dǎo)致數(shù)據(jù)抽象或隱藏。由于使用封裝也隱藏了數(shù)據(jù)。在上面的示例中,任何部分(例如銷售,財(cái)務(wù)或帳戶)的數(shù)據(jù)都從其他任何部分隱藏。

抽象:數(shù)據(jù)抽象是C ++中面向?qū)ο缶幊痰淖罨竞妥钪匾墓δ苤?。抽象意味著僅顯示基本信息并隱藏細(xì)節(jié)。數(shù)據(jù)抽象是指僅向外界提供有關(guān)數(shù)據(jù)的基本信息,隱藏背景細(xì)節(jié)或?qū)崿F(xiàn)。

考慮一個(gè)男人駕駛汽車的真實(shí)例子。這個(gè)人只知道按下加速器會(huì)增加汽車的速度,或者踩剎車會(huì)停止汽車,但是他不知道在按下加速器時(shí)速度實(shí)際上是如何增加的,他不知道汽車的內(nèi)部機(jī)制或在汽車上實(shí)施油門,制動(dòng)器等。這就是抽象。

(1)使用類的抽象:我們可以使用類在C ++中實(shí)現(xiàn)抽象。該類幫助我們使用可用的訪問說明符對數(shù)據(jù)成員和成員函數(shù)進(jìn)行分組。一個(gè)類可以決定哪個(gè)數(shù)據(jù)成員對外界可見,而哪個(gè)則不可見。

(2)頭文件中的抽象:C ++中的另一種抽象類型可以是頭文件。例如,考慮math.h頭文件中存在的pow()方法。每當(dāng)我們需要計(jì)算數(shù)字的冪時(shí),我們只需調(diào)用math.h頭文件中存在的函數(shù)pow()并將數(shù)字作為參數(shù)傳遞,而無需了解該函數(shù)實(shí)際根據(jù)其計(jì)算數(shù)字的冪的底層算法。

多態(tài)性:?“多態(tài)性”一詞意味著具有多種形式。簡而言之,我們可以將多態(tài)定義為消息以多種形式顯示的能力。

一個(gè)人同時(shí)可以具有不同的特征。像男人一樣,是父親,丈夫,雇員。因此,同一個(gè)人在不同情況下具有不同的行為。這稱為多態(tài)性。

一個(gè)操作在不同情況下可能表現(xiàn)出不同的行為。行為取決于操作中使用的數(shù)據(jù)類型。

C ++支持運(yùn)算符重載和函數(shù)重載。

(1)運(yùn)算符重載:使運(yùn)算符在不同情況下表現(xiàn)出不同行為的過程稱為運(yùn)算符重載。

(2)函數(shù)重載:函數(shù)重載使用單個(gè)函數(shù)名來執(zhí)行不同類型的任務(wù)。

多態(tài)被廣泛用于實(shí)現(xiàn)繼承。

示例:假設(shè)我們必須編寫一個(gè)函數(shù)以添加一些整數(shù),有時(shí)有2個(gè)整數(shù),有時(shí)有3個(gè)整數(shù)。我們可以用具有不同參數(shù)的相同名稱編寫加法,將根據(jù)參數(shù)調(diào)用相關(guān)方法。


繼承:一個(gè)類從另一個(gè)類派生屬性和特性的能力稱為繼承。繼承是面向?qū)ο缶幊痰淖钪匾δ苤弧?/p>

子類:從另一個(gè)類繼承屬性的類稱為子類或派生類。

超類:其屬性被子類繼承的類稱為基類或超類。

可重用性:繼承支持“可重用性”的概念,即,當(dāng)我們要?jiǎng)?chuàng)建一個(gè)新類并且已經(jīng)有一個(gè)包含所需代碼的類時(shí),我們可以從現(xiàn)有類中派生新類。通過這樣做,我們可以重用現(xiàn)有類的字段和方法。

示例:狗,貓,??梢允莿?dòng)物基類的派生類。


動(dòng)態(tài)綁定:在動(dòng)態(tài)綁定中,響應(yīng)函數(shù)調(diào)用而執(zhí)行的代碼在運(yùn)行時(shí)確定。C ++具有支持此功能的虛函數(shù)。

消息傳遞:對象之間通過相互發(fā)送和接收信息來相互通信。對象的消息是對過程執(zhí)行的請求,因此將在接收對象中調(diào)用生成所需結(jié)果的函數(shù)。消息傳遞涉及指定對象的名稱,函數(shù)的名稱以及要發(fā)送的信息。

每天學(xué)點(diǎn)小知識,希望對你有幫助~

另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

微信公眾號:C語言編程學(xué)習(xí)基地

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

編程學(xué)習(xí)視頻分享:


C/C++編程筆記:C++中的面向?qū)ο缶幊?!帶你C++入門的評論 (共 條)

分享到微博請遵守國家法律
阳春市| 揭阳市| 竹北市| 盘锦市| 措美县| 南汇区| 福泉市| 云霄县| 疏勒县| 盘山县| 黄大仙区| 延川县| 卓资县| 镇宁| 巴塘县| 颍上县| 托克逊县| 泸西县| 红河县| 平塘县| 上饶市| 迭部县| 北宁市| 丰台区| 平阴县| 沙坪坝区| 南江县| 黎平县| 宝鸡市| 吐鲁番市| 军事| 长武县| 斗六市| 青田县| 彭山县| 潢川县| 遂川县| 新营市| 阿克陶县| 潼南县| 偃师市|