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

C++中的面向對象編程簡介

開發 后端
C++是一種面向對象的語言。面相對象分為三種特性:分別是封裝性、繼承性和多態性,這些特性在不同情況下有著不同的表現。

最近一段時間參加了一家培訓機構組織的培訓,主要的內容大多都是面向對象編程的技術課程,在這里按照面向對象里面的幾個基本概念分別進行說明如下,希望大家學習參考。

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

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

 三.面向對象的三大特性:

1.封裝

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

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

2.繼承

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

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

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

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

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

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

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

3.多態

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

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

【編輯推薦】

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

2024-01-03 13:38:00

C++面向對象編程OOP

2011-07-14 17:37:02

C++面向對象編程思想

2011-07-14 17:24:10

C++面向對象思想

2025-04-02 03:11:00

Python函數C++

2009-07-08 16:10:24

Scala簡介面向對象函數式

2010-01-13 14:05:55

C++語言

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面向對象編程

2009-01-16 08:52:26

面向對象OOP編程

2010-07-20 09:13:55

Perl面向對象編程

2010-11-17 11:31:22

Scala基礎面向對象Scala

2011-07-21 17:19:47

java面向對象

2009-06-26 13:56:20

UML面向對象建模

2010-07-20 13:44:02

Perl方法

2022-07-30 23:41:53

面向過程面向對象面向協議編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品观看 | 国产精品国产三级国产aⅴ入口 | 自拍偷拍第1页 | 自拍偷拍第一页 | 福利久久| 日韩精品视频在线 | 狠狠亚洲 | 成人不卡 | 97超级碰碰 | 久久久久国产精品午夜一区 | 久久亚洲一区 | 国产一区二区免费在线 | 欧美午夜一区二区三区免费大片 | 国产精品无码专区在线观看 | 天天综合网天天综合 | 精品亚洲一区二区三区四区五区 | 久操伊人 | 久色激情 | 亚洲国产中文字幕 | 免费看一区二区三区 | 欧美日韩一区二区三区在线观看 | 亚洲电影一级片 | 国产精品久久久久久久久久免费看 | 中文字幕在线网 | 亚洲精品一二三区 | 亚洲第一中文字幕 | 日本二区 | 俺去俺来也www色官网cms | 国产99视频精品免费播放照片 | 在线观看成人小视频 | 91精品国产色综合久久 | 麻豆精品久久久 | 日韩免费网站 | 久久y| 色播久久久 | 精品一区二区不卡 | 日韩欧美国产精品综合嫩v 一区中文字幕 | 999久久久| 日产精品久久久一区二区福利 | 欧美精品第一页 | 免费在线观看成人 |