c語言下實現基於物件的程式設計方法,這裡的用基於物件程式設計,並不是物件導向程式設計。因為其簡單實現基於物件程式設計,並不能完全實現物件導向程式設計。
第一種方式實現部分物件導向:就是在子結構體中引用另外乙個結構體指標,從而實現部分繼承。
第二種方式:父結構體中存在乙個私有引用指標,而實現這個私有指標的操作是由物件意義上的子類去完成實現。下面是乙個例子。
person.c如下:
#include #include#include
#include
"person.h
"void* newperson(const
char *name,int
age)
void deleteperson(void *ptr)
void displayperson(void *ptr)
student.c如下:
#include #include#include
#include
"student.h
"#include
"person.h
"void * newstudent(const
char *name)
void displaystudent(void*student)
void deletestudent(void *student)
C 物件導向程式設計(下)
物件導向程式設計的三大特徵 封裝是基礎,繼承是關鍵,多型是補充,而多型又必須存在於繼承的環境中,多型的實現受到繼承性的支援。封裝 encapsulation 定義 1 將資料抽象的外部介面與內部實現的細節清楚地分開 2 封裝就是將抽象得到的資料和行為相結合,形成乙個有機的整體 作用 1 可以隱藏實現...
基於物件的程式設計
物件就是類的例項。乙個類與自身具有同樣名稱的成員函式叫做建構函式。沒有引數的建構函式稱為預設建構函式。雙冒號 是作用域操作符。函式過載 同樣函式名稱能夠用不同形式引數定義多次。引數是通過值進行傳遞的。內聯函式 減小開銷,新增效率。環境變數 include includeusing namespace...
物件導向程式設計風格 基於物件程式設計風格
本文主要通過實現thread 類來展現兩種程式設計風格的不同點。很多人沒有區分 物件導向 和 基於物件 兩個不同的概念。物件導向的三大特點 封裝,繼承,多型 缺一不可。通常 基於物件 是使用物件,但是無法利用現有的物件模板產生新的物件型別,繼而產生新的物件,也就是說 基於物件 沒有繼承的特點。而 多...