C++ 類

類規範:包括類聲明以及類方法定義

  • 類聲明提供類的藍圖
  • 方法定義提供細節
  • 常見不通用的約定:類名首字母大寫

類接口:

  • 接口由編寫類的人提供的方法組成。接口讓程序員可以編寫與類對象交互的代碼,從而讓程序可以使用類對象。
  • 要使用某個類,必須瞭解其公共接口;要編寫類,必須建立其公共接口。
  • 一般,C++程序員將接口(即類聲明的一部分)放在頭文件中,並將實現(類方法的代碼)放在源代碼文件中。

類、實例、對象:

C++關鍵字class指出定義一個類設計,該類聲明的變量稱爲類或實例程序員

類數據成員、類函數成員:

  • 要存儲的數據以類數據成員的形式出現
  • 要執行的操做以類函數成員的形式出現
    • 成員函數能夠就地定義,也能夠原型表示
  • 每一個新對象都有本身的存儲空間,用於存儲其內部變量和類成員;但同一個類的全部對象共享同一組類方法。

訪問控制(public、private、protected)

  • 使用類對象的程序均可以直接訪問公有部分,但只能經過公有函數(或友元函數)來訪問對象的私有成員

  • 防止程序直接訪問數據被稱爲數據隱藏

  • 沒必要在類聲明中使用private,由於這是類對象的默認訪問權限

封裝(隱藏數據和實現):

  • 將實現細節放在一塊兒並將它們與抽象分開被稱爲封裝。例:
    • 將實現的細節隱藏在私有部分中
    • 將類函數定義和類聲明放在不一樣文件中
  • 數據隱藏也是一種封裝

類和結構:

  • C++對結構進行了擴展,使之具備與類相同的特性。它們之間惟一的區別是,結構的默認訪問類型是public,而類爲private。
  • C++程序員一般使用類來實現類描述,而把結構限制爲只表示純粹的數據對象

實現類成員函數:

  • 定義成員函數時,使用做用域解析運算符(::)來標識函數所屬的類(未在類中定義)
  • 類方法能夠訪問類的private組件,訪問對象其它成員函數沒必要使用做用域解析運算符

內聯方法:

  • 定義位於類聲明中的函數都將自動成爲內聯函數
  • 能夠在類聲明以外定義成員函數,並使其稱爲內聯函數(使用inline)
  • 內聯函數的特殊規則要求在每一個使用它們的的文件中都要對其進行定義(一般放在頭文件中)

方法使用哪一個對象:

在OOP中,調用成員函數被稱爲發送消息,消息發送給調用它的對象,即便用調用它的對象函數

公有接口:

公有部分的內容構成了設計的抽象部分即公有接口spa

成員運算符:句點(.)

相關文章
相關標籤/搜索