成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++中的面向?qū)ο缶幊毯喗?/h1>

開發(fā) 后端
C++是一種面向?qū)ο蟮恼Z言。面相對象分為三種特性:分別是封裝性、繼承性和多態(tài)性,這些特性在不同情況下有著不同的表現(xiàn)。

最近一段時間參加了一家培訓機構(gòu)組織的培訓,主要的內(nèi)容大多都是面向?qū)ο?/FONT>編程的技術課程,在這里按照面向?qū)ο?/FONT>里面的幾個基本概念分別進行說明如下,希望大家學習參考。

一.對象(Object),這個概念可以說是面向?qū)ο?/FONT>里面的最為核心的概念,如果找不著對象,又如何面向?qū)ο?/FONT>呢?對象,也就是你要處理的問題里面設計的若干個因素,比如你做學生成績統(tǒng)計,那么學生當然是你要考慮的對象。

二.類(Class),從本質(zhì)上講是先有對象才有類,因為在處理的實際編程問題時,你面對的是一個個具體的對象,太多了,怎么辦?分門別類,實現(xiàn)物以類聚,對了,將相同屬性的對象作為一類進行考慮,張三也好,李四也好,他們都是人的一個實例。在具體的語言實現(xiàn)時,兩者的順序就需要顛倒一下了,也就是要先有類,然后才能實例化生成對象。

 三.面向?qū)ο?/FONT>的三大特性:

1.封裝

所謂的封裝也就是在類的設計時,實現(xiàn)對于類內(nèi)的數(shù)據(jù)與方法的不同權(quán)限設置,有些數(shù)據(jù)和方法,我們不希望用戶在類的外部通過實例化去調(diào)用,那么我們將它們聲明成私有的(private),這樣這些數(shù)據(jù)和方法只能被類內(nèi)部的成員函數(shù)訪問,而如果希望能夠被實例訪問,那么聲明成公有的(public),至于第三種訪問區(qū)分符(protected)保護型的,在類的繼承時應用,我們到繼承那里說明。

 與封裝有關的一個概念是“抽象”(abstract) ,即將設計的類的最主要的功能表示出來,這些功能正是要被其他類和函數(shù)訪問的。

2.繼承

 與繼承有關的概念是關系,關系描述了類之間的聯(lián)系,有四種基本類型,即“繼承、組合、利用、實例化”。繼承就是說某一個類具有了另外一個類所有的數(shù)據(jù)和方法,當然可以修改一部分并且增加新的數(shù)據(jù)和方法。繼承分為兩種類型,即單重繼承和多重繼承。

 單重繼承,即類Derived繼承了類Base,定義如下:

  1. class Base  
  2.  
  3.       {  
  4.  
  5.       };  
  6.  
  7.      class Derived:public Base  
  8.  
  9.        {  
  10.  
  11.       } 

可見在定義繼承類時,要指明繼承了哪一個類,并且指明繼承級別(public,protected,private),通過這三種訪問區(qū)分符的修飾,可以改變基類數(shù)據(jù)在派生類中的訪問權(quán)限,public 繼承不會改變,protected繼承的話原來的public 數(shù)據(jù)和方法變成派生類的protected型數(shù)據(jù)和方法,其他不變,private繼承則將所有的數(shù)據(jù)和方法的訪問權(quán)限設置為private,即這些數(shù)據(jù)和方法都不能在類的外部訪問。

派生類的構(gòu)造和析構(gòu)順序,首先構(gòu)造基類,然后構(gòu)造派生類,中間是類的作用,析構(gòu)順序正好相反。

多重繼承是說一個類繼承了兩個或者多個類的數(shù)據(jù)或者方法。在多重繼承這里預見的主要的問題是兩個歧義性:首先,當繼承的兩個基類中含有相同的數(shù)據(jù)或者方法時,在派生類中調(diào)用無法區(qū)分。

解決方法:指明調(diào)用的哪一個類的成員變量和方法,使用作用域分解運算符;在派生類里面重新定義該數(shù)據(jù)或者方法。第二類歧義性發(fā)生在多層繼承時,B,C繼承了A,而D又繼承了B,C,正如矩形和菱形繼承四邊形而正方形繼承了矩形和菱形,兩條繼承路徑使得基類被兩次繼承,直接訪問無法區(qū)分,解決方法:支出繼承路徑,使用虛基類(virtual)方法,在定義繼承關系時添加virtual使得基類永遠只有一份拷貝。

3.多態(tài)

多態(tài)性分為兩種,即靜態(tài)多態(tài)性和動態(tài)多態(tài)性。所謂多態(tài),也就是明明同樣一個東西,在不同情況下有著不同的表現(xiàn)。

 靜態(tài)多態(tài)性,即預先定義好的,通過函數(shù)重載(funcition overload)實現(xiàn),函數(shù)包含了返回值、函數(shù)名稱、函數(shù)參數(shù)三個,名字多表示功能,返回值的區(qū)分不能區(qū)分函數(shù)(想象數(shù)據(jù)類的強制轉(zhuǎn)換吧)。因此重載也就是函數(shù)名稱相同而參數(shù)不同,不同可以表現(xiàn)在參數(shù)個數(shù)不同、參數(shù)類型不同、參數(shù)順序不同

【編輯推薦】

  1. 簡介學習C++總結(jié)之談
  2. 對C++庫函數(shù)進行學習探索總結(jié)筆記
  3. C++類庫設計的基本構(gòu)思與方法
  4. C++語言真的還有市場價值?
  5. C++類庫設計的基本構(gòu)思與方法
責任編輯:chenqingxiang 來源: NET130
相關推薦

2024-01-03 13:38:00

C++面向?qū)ο缶幊?/a>OOP

2011-07-14 17:37:02

C++面向?qū)ο缶幊趟枷?/a>

2011-07-14 17:24:10

C++面向?qū)ο笏枷?/a>

2025-04-02 03:11:00

Python函數(shù)C++

2010-01-13 14:05:55

C++語言

2009-07-08 16:10:24

Scala簡介面向?qū)ο?/a>函數(shù)式

2009-12-22 01:54:50

C++之父Bjarne Stro

2010-01-22 10:26:40

C++語言

2011-06-17 17:27:29

Objective-CCocoa蘋果

2011-07-10 15:36:54

C++

2012-01-17 09:34:52

JavaScript

2017-04-21 09:07:39

JavaScript對象編程

2023-04-19 08:43:52

Python面向?qū)ο缶幊?/a>

2009-01-16 08:52:26

面向?qū)ο?/a>OOP編程

2010-07-20 09:13:55

Perl面向?qū)ο缶幊?/a>

2010-11-17 11:31:22

Scala基礎面向?qū)ο?/a>Scala

2011-07-21 17:19:47

java面向?qū)ο?/a>

2009-06-26 13:56:20

UML面向?qū)ο蠼?/a>

2010-07-20 13:44:02

Perl方法

2022-07-30 23:41:53

面向過程面向?qū)ο?/a>面向協(xié)議編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品中文在线 | 色在线免费视频 | 亚洲精品乱码久久久久久按摩观 | 日韩精品在线播放 | 精品国产网 | 免费精品在线视频 | 97伦理最新伦理 | 久久久国| k8久久久一区二区三区 | 秋霞电影院午夜伦 | 91精品福利 | 射久久 | 亚洲伊人久久综合 | 日本在线免费视频 | 美女黄频| 国外成人在线视频网站 | 激情六月丁香婷婷 | 国产一级在线 | 91不卡 | 精品一区二区三区四区五区 | 午夜欧美 | 日日噜噜噜夜夜爽爽狠狠视频, | 超碰在线免费av | 99久久精品国产毛片 | 色橹橹欧美在线观看视频高清 | 九九热在线视频 | 国产精品免费在线 | 精品无码久久久久久国产 | 国产91亚洲精品一区二区三区 | 国产免费一区二区 | 国产精品国产精品国产专区不卡 | 超碰在线播 | 免费观看羞羞视频网站 | av喷水 | 国产一级片一区二区 | 特黄毛片 | 国产精品视频导航 | 欧美日韩在线视频一区 | 中文字幕成人av | 一级黄在线观看 | 99这里只有精品视频 |