類宣告:以資料成員的方式描述資料部分,以成員函式的方式(又被成為方法)來描述公有介面。
類方法定義:如何實現類成員函式。
#ifndef pch_h
#define pch_h
#include #include class students ;
#endif;
以上是我寫的乙個學生資訊管理系統中學生類,通常類定義放在標頭檔案當中,而類方法定義放在原**中。詳細資訊都在註解中。
關鍵字class定義了這些**是乙個類設計。
關鍵字private(私有部分)定義了以下成員(資料或者是函式)是私有部分的,只能通過公有介面中的成員函式來訪問。
關鍵字public(公有有部分)則定義了以下成員為公有部分中的成員函式(方法)或者類資料(程式可以直接訪問)。
公有成員函式(方法)是程式和物件之間的橋梁,提供了物件和程式之間的介面。公有成員函式可以訪問私有部分成員。
介面:由編寫類的人提供的方法組成。介面讓程式設計師能夠編寫與類物件互動的**,從而使程式能夠使用類物件。
類之外無法訪問到private裡的類成員資料和類成員函式!
使得類又一大特性:資料隱藏
資料隱藏:防止程式直接訪問資料。使得程式只能通過特定的方式進行訪問資料(類公有成員函式)。
類的資料隱藏實現:將類資料放入private中。
當然,無論類成員是資料成員還是成員函式,都可以在類的公有部分或者私用部分中宣告它。但由於隱藏資料是oop主要目的之一,因此資料通常放在私有部分。而組成類介面的成員函式放在公有部分。如果把成員函式放在private內,則無法在程式中直接呼叫此函式,且不能稱為組成介面之一的方法。只有在公共部分內的成員函式才可稱為方法,因為此時的函式才能夠被程式呼叫,作為程式和物件之間的橋梁。
類的方法定義放在源**中,只需要讀取類定義的標頭檔案即可#include "pch.h",在這裡使用 " " 讀取符,因為「』優先讀取資料夾內的標頭檔案。
#include "pch.h"
using namespace std;
void students::init(void) //使用cin進行賦值
void students::print(void) //列印名字和學號
*定義成員函式時,使用作用於解析運算子(::)來表示函式所屬的類
*類方法可以訪問private內的成員
*類成員函式可以有返回值亦可無返回值
*類成員函式可以有引數,亦可無引數
在main函式中建立物件。
要建立類物件,可以宣告類變數,也可以使用new為類物件分配記憶體空間。可以將物件作為函式的引數和返回值,也可以將乙個物件賦給另乙個同類的物件。
#include "pch.h"
#include using namespace std;
int main()
建立物件格式:型別名 物件名 如students num1;
使用方法格式:物件名.方法(類成員函式)如 num1.init() , num1.print();
呼叫方法使用成員運算子(.)
呼叫介面之一的init()方法。
呼叫print()方法,列印資訊
以上為c++類定義,後面的內容難點會持續更新部落格。
物件導向 OOP 和類
1.物件導向 as is we all known c是面向過程的 然而它的進化版c 是物件導向的 物件導向是怎麼搞的呢 事實上,物件導向其實很簡單 它比較現實 比如乙個人是由很多零件來組成的 對於面向過程的語言來說 關注的它的胳膊,它的腿,要完成乙個動作,就要讓胳膊幹啥,腿幹啥 然而對於物件導向來...
PHP中的物件導向OOP中的魔術方法
一 什麼是魔術方法 php為我們提供了一系列用 開頭的函式,這些函式無需自己手動呼叫,會在合適的時機自動呼叫,這類函式稱為魔術函式。例如 function construct 在new乙個新物件時自動呼叫此函式 二 php中都有那些魔術方法,以及它們的作用 1.construct 建構函式,new物...
物件導向 OOP中的抽象類,介面以及多型
抽象類與抽象方法 1 什麼是抽象方法?沒有方法體 的方法,必須使用abstract關鍵字修飾,這樣的方法,我們稱之為抽象方法。abstract function say 2 什麼是抽象類?包含抽象方法的類就是抽象類,抽象類必須使用abstract關鍵字修飾 abstract class person...