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面 宗教是人類社會發展一定階段的歷史現象,有它發生 發展和消亡的過程。宗教信仰,宗教感情,以及同這種信仰和感情相適應的宗教儀式和宗教組織,都是社會的歷史的產物。宗教...