3 回答

TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊
每個函數(shù)都是 封裝 ;在偽碼中: point x = { 1, 4 } point y = { 23, 42 } numeric d = distance(x, y)
這里, distance
封裝平面中兩點之間(歐幾里德)距離的計算:它隱藏實現(xiàn)細(xì)節(jié)。這是封裝,純而簡單。 抽象化 是…的過程 泛化 *具體實施,并使其適用于不同類型的數(shù)據(jù),盡管有些相關(guān)。抽象的經(jīng)典例子是C的 qsort
函數(shù)對數(shù)據(jù)進(jìn)行排序: 關(guān)于 qsort
是它不關(guān)心它排序的數(shù)據(jù)-事實上,它 不知道它分類的數(shù)據(jù)。相反,它的輸入類型是一個無類型指針( void*
),這只是C的一種說法:“我不在乎數(shù)據(jù)的類型”(這也稱為類型擦除)。重要的一點是 qsort
無論數(shù)據(jù)類型如何,始終保持不變。唯一 有更改是比較函數(shù),它因數(shù)據(jù)類型而異。 qsort
因此,期望用戶將所述比較函數(shù)作為函數(shù)參數(shù)提供。
class point { numeric x numeric y }
T pi<T> = 3.1415926535
pi
template <typename T> constexpr T pi = T{3.1415926535};

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊
封裝
抽象化
添加回答
舉報