先有Class還是先有Object?

時間 2021-05-06 14:49:06

1樓:

class位元組碼載入到jvm,然後在堆記憶體生成乙個class物件。然後物件指向位元組碼,你就可以通過class物件快樂的操作了。

2樓:zpan

object.h:

typedef

struct

_Object

Object

;typedef

struct

_Class

Class

;struct

_Object

;typedef

void(*

Ctor

)(Object

*self

,...);

typedef

void(*

Dtor

)(Object

*self

);struct

_Class

;extern

Class

ObjectType

;// the 'Object' object

extern

Class

ClassType

;// the 'Class' object

Object

*New

(Class

*type

,...);

// allocate an object

void

Delete

(Object

*self

);// deallocate an object

void

Object_ctor

(Object

*self

);// constructor of Object

void

Object_dtor

(Object

*self

);// destructor of Object

void

Class_ctor

(Class

*self

);// constructor of Class

void

Class_dtor

(Class

*self

);// destructor of Class

char

*Class_getName

(Class

*self

);Class

*Object_getClass

(Object

*self

);// get the type of an object

Class

*Object_getBaseClass

(Object

*self

);// get the type of the base class

// of an object

object.c:

#include

#include

"object.h"

Class

ObjectType=,

// the "Object" object is a Class

"Object",&

ObjectType

,// Object's base is Object

sizeof

(Object),(

Ctor

)Object_ctor,(

Dtor

)Object_dtor,};

Class

ClassType=,

// the "Class" object is also a Class!

"Class",&

ObjectType

,// Class's base is Object!

sizeof

(Class),(

Ctor

)Class_ctor,(

Dtor

)Class_dtor,};

void

Object_ctor

(Object

*self){}

void

Object_dtor

(Object

*self){}

void

Class_ctor

(Class

*self){}

void

Class_dtor

(Class

*self){}

char

*Class_getName

(Class

*self

)Class

*Object_getClass

(Object

*self

)Class

*Object_getBaseClass

(Object

*self

)Object

*New

(Class

*type

,...)

void

Delete

(Object

*self

)main.c:

#include

#include

"object.h"

// define a type called "MyObject"

typedef

struct

_MyObject

MyObject

;typedef

struct

_MyObjectClass

MyObjectClass

;struct

_MyObject

;struct

_MyObjectClass

;MyObjectClass

MyObjectType=,

// the "MyObject" object is a Class

"MyObject",&

ObjectType

,// MyObject is derived from Object

sizeof

(MyObject),(

Ctor

)Object_ctor,(

Dtor

)Object_dtor,},

};int

main

(void

)Clang 3.6 測試通過

3樓:reggie wong

如果是指繼承關係,那必然是先有Object。

如果只是依賴關係,那是互相依賴,不存在絕對先後,不過在.Net也應該是先有object宣告,然後才有class的宣告。

先有仁還是先有禮

維修工人李 當然是先有禮。在這個問題的語境下,禮是周禮,對應的是奴隸社會的上層建築。而什麼是仁呢?克己復禮為仁。什麼意思呢?就是在封建制取代奴隸制的春秋,為復辟奴隸制而努力。所以是先有禮後有仁。 吳金銘 不是儒家的連什麼是禮什麼是仁都一無所知,肯定滿口胡言,甚至撒謊造謠,不可相信。要問仁禮關係,當然...

先有能量,還是先有力?

方方 這個要分參照物件和參考係了。力驅使的運動,當然是先有力。能量衝擊的力,當然會是先有能量。這個是辯證統一的。能量系統和力的系統屬於2個不一樣的領域,能互相影響作用,只要地球還轉,太陽依然發熱,這個就是相互牽連的。 李澄宇 力就是能量,如果硬要把直觀感受到的力,與客觀存在的能量分開,那麼當然是先有...

先有神還是先有人?

風藥 先有神。首先,人創造不出比自己更有智慧型的產物。其次,人想象不出自己沒見過的事物。所以古代傳下來的神話,很可能是上古歷史。 老友e面 宗教是人類社會發展一定階段的歷史現象,有它發生 發展和消亡的過程。宗教信仰,宗教感情,以及同這種信仰和感情相適應的宗教儀式和宗教組織,都是社會的歷史的產物。宗教...