程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 訪問控制和繼承方式

訪問控制和繼承方式

編輯:C++入門知識

這部分內容比較繁瑣,但很簡單,在此條理地介紹一下。
1.首先,介紹:對類中成員的訪問方式
先舉一個例子,了解水平訪問和垂直訪問

#include   
  B:


    bobj.bfun();        
}

訪問包括兩種方式:水平訪問和垂直訪問
(1)水平訪問,是指對類中成員的實例化使用;
(2)垂直訪問,指在使用繼承時,派生類中成員函數對基類成員的訪問。

2.訪問控制和繼承方式
訪問控制被用於數據的封裝和保護。可以從兩個角度實現對類中數據的訪問控制:設置類成員的訪問屬性和設置繼承方式。
類成員的訪問屬性有三種,即public、private和protected。
公有成員允許外部函數訪問;私有成員不允許外部函數訪問,只允許本類的成員函數訪問;保護成員不允許外部函數訪問,但允許本類和其子類的成員函數訪問。
(1)繼承方式對水平訪問的影響(這是我們最常用見的)
如下表:

protected
private

protected
private

no
no

protected
private

private
private

no
no

protected
private

protected
private

no
no

說明:若piblic>protected>private;那麼派生類的訪問權限=min(基類訪問權限,繼承方式),然後根據派生類中成員的訪問屬性確定水平訪問權限。
(2)繼承方式對垂直訪問的影響(垂直方向上如A派生B,B派生C)
如下表:
說明:1、繼承方式只是改變了繼承成員的訪問權限,對父子類的垂直訪問沒有影響;
        2、只要父類中元素是public或protected,子類均可垂直訪問。

protected
private

protected
private

yes
no

yes
no

protected
private

private
private

yes
no

no
no

protected
private

protected
private

yes
no

yes
no

總結:上表中第4列和第2列有關;第5列和第3列有關。如前所述,第3列是由1、2列得到的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved