一、類成員權限
public的定義:所有範圍都能訪問。表明該數據成員、或成員函數是對所有用戶開放的;
白話:所有用戶都可以直接調用。
protected的定義:類自身、子類能訪問;
白話:對於子女、朋友來說,就是public的,可以自由使用,沒有任何限制;而對於其他的外部class,protected就變成private。private的定義:類自身能訪問;
白話:私有的意思就是除了class自己之外,任何人都不可以直接使用,私有財產神聖不可侵犯嘛,即便是子女,朋友,都不可以使用。
二、繼承方式
子類對父類的繼承方式:public、protected與private是在以上定義基礎上定義了子類中父類部分的成員(public與protected)在被繼承後對外界的訪問權限。
舉例:
父類是:public
public & public繼承 => public
public & protected繼承 => protected
public & private繼承 = > private
父類是:protected
protected & public繼承 => protected
protected & protected繼承 => protected
protected & private繼承 = > private
父類是: private
private & public繼承 => 子類無權訪問
private成員可以間接的訪問,比如用父類的getXX()方法;因爲是繼承,所以其實也是子類的方法,下同。
private & protected繼承 => 子類無權訪問
private & private繼承 = > 子類無權訪問
以下幾篇結合看,參考:
http://www.jizhuomi.com/software/96.html
http://www.jizhuomi.com/software/98.html
http://www.cnblogs.com/york-hust/archive/2012/06/01/2530799.html
http://blog.163.com/clevertanglei900@126/blog/static/1113522592010114102759821/
http://blog.sina.com.cn/s/blog_76fbd24d0100v9jh.html
http://www.cnblogs.com/BeyondAnyTime/archive/2012/05/23/2514964.html