關於繼承的設計

2021-09-06 17:29:41 字數 682 閱讀 9020

我將成員變數稱之為類的屬性,  將成員函式稱之為類的介面

關於子類繼承父類,  比較讓我蛋疼的用法就是在子類中直接使用父類的成員變數,  且不說父類完全有可能不是自己設計的, 就算是自己設計的, 也許已經過了n久了, 再次使用父類裡面的屬性時都要想一下這個屬性到底是幹什麼用的.

比如當時寫了乙個類:parent,  而且也就是在當時, 還寫了乙個子類:man,  然後在man這個類中直接對parent的屬性進行操作.  然後又過了n久,  某一位新人接手先人寫的**,  但是它只拿到了man的**,  並沒有parent的**,  看的時候就會鬱悶, 有些屬性明明沒有,  為毛會在man裡面使用了呢, 當然了,細想一下可以推斷出某些屬性是在其父類中定義的,  這是簡單的繼承,  如果對於乙個雜而龐大的類網路而言,  這樣的寫法,  會讓後人罵他祖宗十八代.

人個的看法,  對於乙個類而言,  所有的屬性都是它自己的特性,  就將這些屬性全設定為private吧,  如果某些屬性是想讓所有外部都可以呼叫的話,  就對這些屬性寫兩個public的介面,  乙個用來讀, 乙個用來寫. 或者是只能讀不能寫.   再有一些屬性是希望子類可以使用, 但是不對外公開的話,  就對這些屬性寫些protected的介面吧.  即,  想對某個物件屬性進行操作,  不管是不是不相關的類,  又或者是子類,  請通過介面來操作!   這樣在看子類**的時候,  就不會有時候看到莫名其妙的對某個屬性進行的操作.

關於繼承,函式的繼承

1.子類擁有了父類的public財產 私有成員其實也有,但是訪問不了 通過子類呼叫函式時,編譯器先在子類中找相應的函式,找不到的話再去父類找。如此一來,如果父類和子類定義了一樣的函式 包括引數列表 子類的函式會覆蓋父類函式。如果,父類定義了子類的同名函式,但是引數列表不同,子類的也會被覆蓋隱藏,如 ...

關於繼承的問題

繼承,我這裡只說方法,繼承關心的是我從父類繼承來的東西有不是擁有的東西 簡單地說也就是能使用的東西 1。訪問修飾符為private的方法不能被繼承,而是被隱藏,在子類中可以寫乙個跟父類訪問修飾符為private方法一樣的方法,這裡不存在覆蓋問題,因為方法被隱藏,根本就沒有被繼承,所以不存在覆蓋問題,...

關於繼承的理解

一.基本概念 類之間的關係 繼承就是在已有類的基礎上建立新類的過程 已有的類叫做基類或父類,新類則叫做派生類或子類 二 基類和派生類 一 類繼承關係的語法形式 class 派生類名 基類名錶 基類名錶的構成 訪問控制 基類名1,訪問控制 基類名2,訪問控制 基類名n 訪問控制表示派生類對基類的繼承方...