private成員可以被繼承嗎_父類的private子類能否繼承?
特邀律師
北京律師團隊
咨詢不收費,免費提供專屬維權方案!
北京知名律師事務所,解決重大,疑難問題!團隊有著深厚的理論知識、豐富的辦案經營、認證負責的職業精神,以專業的知識和技能切實維護當事人的正當合法權益。
只有在類定義下才可以實現類對象(實例)直接訪問類私有成員。具體的原因我簡單百度了下,結合自己淺薄的知識有這樣一個猜測:private(私有域)定義為本類作用域可
只有在類定義下才可以實現類對象(實例)直接訪問類私有成員。具體的原因我簡單百度了下,結合自己淺薄的知識有這樣一個猜測:private(私有域)定義為本類作用域可見。即testC{私有域}中定義的成員,方法在本域是可見的。類比{}中定義的局部變量,只有在{}中才是可見的(java)。注意一個問題,由于子類繼承的問題,java中直接使用extends繼承,所以基類的私有域實際上也是子類的私有域。很可能我的猜測是錯的,就當做是拋磚引玉吧。
應該選2 第一:private, public, protected 訪問標號的訪問范圍。
private:只能由1.該類中的函數、2.其友元函數訪問。不能被任何其他訪問,該類的對象也不能訪問。protected:可以被1.該類中的函數、2.子類的函數、以及3.其友元函數訪問。但不能被該類的對象訪問。public:可以被1.該類中的函數、2.子類的函數、3.其友元函數訪問,也可以由4.該類的對象訪問。注:友元函數包括3種:設為友元的普通的非成員函數;設為友元的其他類的成員函數;設為友元類中的所有成員函數。第二:類的繼承后方法屬性變化。private 屬性不能夠被繼承。使用private繼承,父類的protected和public屬性在子類中變為private; 使用protected繼承,父類的protected和public屬性在子類中變為protected; 使用public繼承,父類中的protected和public屬性不發生改變; 如下所示: public: protected: private: public繼承 public protected 不可用 protected繼承 protected protected 不可用 private繼承 private private 不可用 protected繼承和private繼承能降低訪問權限。子類可以繼承父類的私有成員變量,但不可以直接訪問私有成員。
子類是可以繼承父類所有可見性成員的。
對于java而言,java官方文檔對這一方面的解釋是子類不能繼承父類的私有屬性,但是如果子類中的公有方法影響到了父類的私有屬性,那么私有屬性是能夠被子類使用的。
正確的回答是:如果一個子類繼承了父類,那么這個子類擁有父類所有的成員屬性和方法,即使是父類里有private屬性的變量,子類也是繼承的,只不過不能使用,也就是說,它繼承了,但是沒有使用權,似乎又點矛盾,用我們通俗的說法就是只能看,不能用,謝謝!雖然是這樣,但是,我們還是可以通過set和get的方法來間接的訪問父類中的private屬性的變量謝謝!
【版權聲明】部分文章和信息來源于互聯網、律師投稿,刊載此文是出于傳遞更多信息和學習之目的。若有來源標注錯誤或侵犯了您的合法權益,請作者持權屬證明于本網聯系,我們將予以及時更正或刪除。
【在線反饋】