Example of ECMAScript Inheritance Mechanism
本節使用一個經典的例子解釋 ECMAScript 的繼承機制。
繼承機制實例
說明繼承機制最簡單的方式是,利用一個經典的例子 - 几何形狀。實際上,幾何形狀只有兩種,即橢圓形(是圓形的)和多邊形(具有一定數量的邊)。圓是橢圓形的一種,它只有一个焦點。三角形、矩形和五邊形都是多邊形的一種,具有不同數量的邊。正方形是矩形的一種,所有的邊等長。這就構成了一種完美的繼承關係。
在這個例子中,形狀(Shape)是橢圓形(Ellipse)和多邊形(Polygon)的基類(base class)(所有類都由它繼承而來)。橢圓形具有一個屬性 焦點,說明橢圓具有的焦點的數量。圓形(Circle)繼承了橢圓形,因此圓形是橢圓形的子類(subclass),橢圓形是圓形的超類(superclass)。同樣,三角形(Triangle)、矩形(Rectangle)和五邊形(Pentagon)都是多邊形的子類,多邊形是它們的超類。最後,正方形(Square)繼承了矩形。
最好用圖來解釋這種繼承關係,這是 UML(統一建模語言)的用武之地。UML 的主要用途之一是,視覺化地表示像繼承這樣的複雜對象關係。下面的圖示是解釋 Shape 和它的子類之間關係的 UML 圖示:

在 UML 中,每個方框表示一個類,由類名說明。三角形、矩形和五邊形頂部的線段聚集在一起,指向形狀,說明這些類都由形狀繼承而來。同樣,從正方形指向矩形的箭頭說明了他們之間的繼承關係。