物件導向模型分析(繼承,多型)

2021-08-18 17:28:32 字數 2125 閱讀 5038

#include 

#include

using

namespace

std;

class a

};struct b

;int main()

類中的成員函式位於**段中

呼叫成員函式時物件位址(this)訪問成員變數

成員函式通過物件指標訪問成員變數

c++ 語法隱藏了物件位址的傳遞

繼承物件模型

#include 

#include

using

namespace

std;

class demo

};class derived : public demo

void print()

};struct test

;int main()

多型物件模型

==虛函式呼叫效率 < 普通成員函式==

c語言實現物件導向及多型

#ifndef _51_2_h_

#define _51_2_h_

typedef void demo;

typedef void derived;

demo* demo_create(int i, int j);

int demo_geti(demo* pthis);

int demo_getj(demo* pthis);

int demo_add(demo* pthis, int

value);

void demo_free(demo* pthis);

derived* derived_create(int i, int j, int k);

int derived_getk(derived* pthis);

int derived_add(derived* pthis, int

value);

#endif

#include "test.h"

#include "malloc.h"

#include "stdio.h"

static

int demo_virtual_add(demo* pthis, int

value);

static

int derived_virtual_add(demo* pthis, int

value);

struct vtable // 2. 定義虛函式表資料結構

;struct classdemo

;struct classderived

;static

struct vtable g_demo_vtbl =

;static

struct vtable g_derived_vtbl =

;demo* demo_create(int i, int j)

return ret;

}int demo_geti(demo* pthis)

int demo_getj(demo* pthis)

// 6. 定義虛函式表中指標所指向的具體函式

static

int demo_virtual_add(demo* pthis, int

value)

// 5. 分析具體的虛函式!!!!

int demo_add(demo* pthis, int

value)

void demo_free(demo* pthis)

derived* derived_create(int i, int j, int k)

return ret;

}int derived_getk(derived* pthis)

static

int derived_virtual_add(demo* pthis, int

value)

int derived_add(derived* pthis, int

value)

void run(demo* p, int v)

int main()

python 物件導向 繼承 多型

概念理解 類似於祖輩留下的遺產,父輩可以使用,父輩留下的東西,子輩可以使用,這就是繼承。例如 建立乙個動物類,貓也是乙個動物,所以貓也具有動物的屬性 class animal 定義乙個動物類 def eat self print 吃飯 def drink self print 喝水 貓也是乙個動物,...

python物件導向(繼承,多型)

多型鴨子型別 獲取物件資訊 type,isinstance,dir 定義class animal object 定義乙個名為animal的基類 defrun self print 動物可以跑 class dog animal 定義乙個名為dog的子類 pass class cat animal 定義...

物件導向 封裝 繼承 多型

物件導向 封裝 繼承 多型物件導向 封裝 一 封裝 private 資料型別 名字 成員變數 public 預設一致 名字 屬性 set 類中不僅可以有成員變數和屬性,還可以有成員方法 訪問修飾符 4個 public 公共的,任何地方都可以訪問,但是需要引用 命名空間 private 私有的,類的內...