1. 程式人生 > >資料抽象和封裝的理解

資料抽象和封裝的理解

  類背後蘊涵的基本思想是資料抽象和封裝。

  資料抽象是一種依賴於介面和實現分離的程式設計(和設計)技術。類設計者必須關心類是如何實現的,但使用該類的程式設計師不必瞭解這些細節。相反,使用一個型別的程式設計師僅需瞭解型別的介面,他們可以抽象地考慮該型別做什麼,而不必具體地考慮該型別如何工作。


  封裝是一項低層次的元素組合起來的形成新的、高層次實體珠技術。函式是封裝的一種形式:函式所執行的細節行為被封裝在函式本身這個更大的實體中。被封裝的元素隱藏了它們的實現細節——可以呼叫一個函式但不能訪問它所執行的語句。 同樣地, 類也是一個封裝的實體: 它代表若干成員的聚焦, 大多數(良好設計的)類型別隱藏了實現該型別的成員。

  標準庫型別 vector 同時具備資料抽象和封裝的特性。在使用方面它是抽象的,只需考慮它的介面,即它能執行的操作。它又是封裝的,因為我們既無法瞭解該型別如何表示的細節,也無法訪問其任意的實現。另一方面,陣列在概念上類似於 vector,但既不是抽象的,也不是封裝的。可以通過訪問存放陣列的記憶體來直接操縱陣列。