類層次結構,也稱為類分類法,是一組相關的類,它們通過繼承連接起來做類似的事情。層次結構的頂部可以是一個基類,它下面的所有其他類都是從中派生出來的,或者層次結構可以有多個基類,這些基類的功能稍后會在一個或多個派生類中合并在一起。這些類之間的關系可以用樹表示,大分類法中的每個較小的樹也可以被視為一個層次結構 C++允許多重繼承,所以復雜的層次結構可以由多個根和多個樹合并而成。不是所有的類層次結構都可以有多個根,任何類層次結構都依賴于它所寫的語言。C++允許多重繼承,因此復雜的層次結構可以用多個根和多個樹來合并,另一方面,java?僅限于單繼承,所以它的類關系通常更簡單,構建為具有單個根的相對獨立的樹。接口繼承可能會給Java?中的類層次結構增加一些復雜性,但接口幾乎從未在如此復雜的框架中調用,就像將樹合并在一起一樣類層次結構的組件可以在類型和功能上有所不同,只要在繼承方面始終遵循語言的規則。層次結構中的類可以是公共的、受保護的、抽象的、具體的或虛擬的也可以使用接口、全局函數和友元。根據計算機語言的不同,這些類型中的某些類型可能比其他類型更適合繼承。一般來說,層次結構非常靈活,可用于多種用途對于特定類型的類必須放在層次結構中的位置,沒有硬性規定。任何類都可以是上面提到的任何類型。一般來說,層次結構中沒有派生類的最后一個類應該是公共的和具體的。因為純抽象類層次結構可以盡管類層次結構是組織代碼和封裝功能的有用工具,但有時深入研究層次結構可能會混淆代碼在許多類之間建立一個健壯的關系需要一定的預見性;雖然最初將代碼分成許多小塊可能更容易,但是這些小塊可能在以后變得更難處理。如果構建得當,類層次結構可以幫助開發人員和用戶確定類如何工作。如果它是在沒有維護和清晰的情況下構建的,那么回顧和理解繼承的許多級別可能會令人困惑
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!