繼承是物件導向程式設計技術的一塊基石,因為它允許建立分等級層次的類。運用繼承,你能夠建立乙個通用類,它定義了一系列相關專案的一般特性。
讓我們看乙個更實際的例子,該例子有助於闡述繼承的作用。這樣,新的類將包含乙個盒子的寬度、高度、深度和重量。
// this program uses inheritance to extend box.
class
box// constructor used when all dimensions specified
box(
double w,
double h,
double d)
// constructor used when no dimensions specified
box(
)// constructor used when cube is created
box(
double len)
// compute and return volume
double
volume()
}// here, box is extended to include weight.
class
boxweight
extends
box}
class
demoboxweight
}
該程式的輸出顯示如下:
volume of mybox1 is 3000.0
weight of mybox1 is 34.3
volume of mybox2 is 24.0
weight of mybox2 is 0.076
boxweight繼承了box的所有特徵並為自己增添了乙個weight成員。沒有必要讓boxweight重新建立box中的所有特徵。為滿足需要我們只要擴充套件box就可以了。
繼承的乙個主要優勢在於一旦你已經建立了乙個超類,而該超類定義了適用於一組物件的屬性,它可用來建立任何數量的說明更多細節的子類。每乙個子類能夠正好製作它自己的分類。例如,下面的類繼承了box並增加了乙個顏色屬性:
// here, box is extended to include color.
class
colorbox
extends
box}
記住,一旦你已經建立了乙個定義了物件一般屬性的超類,該超類可以被繼承以生成特殊用途的類。每乙個子類只增添它自己獨特的屬性。這是繼承的本質。 IFNULL的作用是什麼?
下面乙個簡單的sql和結果說明,如果ifnull a,b a接收的值為null,則返回b,否則返回a select ifnull null,0 select ifnull score,0 from student where id 4 按照ifnull函式的作用,應該返回0才對,可是結果並不是這樣。...
babel的作用是什麼?
babel是將es6及以上版本的 轉換為es5的工具。它用 babel.config.js 或 babelrc 檔案作為配置檔案,其中最為重要的配置引數是presets和plugins。plugins babel外掛程式可以將輸入原始碼進行轉換,輸出編譯後的 presets 一組babel外掛程式,...
RequestMapping的作用是什麼?
用於對映url到控制器類或乙個特定的處理程式方法.該註解只能用於方法或型別上 target retention retentionpolicy.runtime documented public 指定對映的名稱 string name default 指定請求的路徑對映,別名為path aliasf...