討論區快速選單
知識庫快速選單
軟體開發過程中有哪些資安漏洞? 網路投保旅行平安險 討論區最近新進100則主題
[ 回上頁 ] [ 討論區發言規則 ]
類別(class)與物件(Object)的區別
更改我的閱讀文章字型大小
作者 : kmkevin(km)
[ 貼文 52 | 人氣 4297 | 評價 140 | 評價/貼文 2.69 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/24 上午 02:46:59
雖然多年前就學過物件導向,一直到最近因為再一次地重新學習,才終於清楚且簡潔地瞭解"類別(Class)"與"物件(Object)"的區別.拿出來跟大家分享及討論:
類別(Class):可以說是一種型態,但沒有實體.
物件(Object):是用Class實作出來的東西.

舉個例子來說,有一段程式如下:

class Rectangle
{
    int Height;
    int Width;
};
//註:宣告了一個名為Rectangle的"類別",但是並沒有實體

void main()
{
    Rectangle RecA , RecB ;
   ............
}
//宣告 RecA,RecB 為Rectangle型態的"物件",RecA及RecB皆有實體(有佔記憶體空間)
作者 : kmkevin(km)
[ 貼文 52 | 人氣 4297 | 評價 140 | 評價/貼文 2.69 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/24 上午 03:04:35
再補充另一個例子說明:
桌上有3顆大小不一的蘋果,它們的名稱分別為 AppleA , AppleB , AppleC . 我們知道這3顆蘋果:AppleA , AppleB , AppleC 都是一顆蘋果 (癈話....=.=") .
那麼我們可以說:
蘋果是類別 ; 而AppleA , AppleB , AppleC是物件.
作者 : dank8435(Daniel)討論區板主 資訊類作業求救優秀好手貼文超過200則
[ 貼文 415 | 人氣 7059 | 評價 2010 | 評價/貼文 4.84 | 送出評價 11 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/28 上午 01:13:24
class就好像是蓋房子的藍圖一樣 ,可以重複使用它蓋很多棟房子 ,
而object則好像是用藍圖蓋出的房子一樣 ,是class的"實作"....
作者 : daniel(冷眼)討論區板主 VC++優秀好手遊戲程式設計優秀好手DirectX優秀好手C++優秀好手貼文超過1000則人氣指數超過70000點
[ 貼文 1564 | 人氣 84169 | 評價 6990 | 評價/貼文 4.47 | 送出評價 15 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/30 下午 01:49:39
我覺的

object 是 uml 架構的一個方塊
廣意的來說他就是個class

因為他們有一定的接口,資料

不同的是 你所指的class 只包含一個 h.cpp
而object 可能包括0~n個 class

而object/class 是不同的一層 因該很難去區分才對
作者 : hys(!C++達人)
[ 貼文 150 | 人氣 2525 | 評價 450 | 評價/貼文 3 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/8/1 下午 10:19:45
覺得非常奇怪,類別有什麼好定義的? 「類別」這名字不就告訴你它是個分類嗎?
而物件就是類別的具體形象,或者說是類別的展現. 跟真實世界的概念連在一起就好懂了.
作者 : player(PLAYER) 貼文超過1000則人氣指數超過100000點
[ 貼文 1595 | 人氣 138661 | 評價 2840 | 評價/貼文 1.78 | 送出評價 104 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/12/16 下午 03:50:36
你的觀念
在VC裡是對的

可是在BCB裡
似乎類別不用宣告一個變數
就有實體可用了?
這不知道是不是我眼花了

作者 : wincelover(cooler)
[ 貼文 17 | 人氣 240 | 評價 50 | 評價/貼文 2.94 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/12/16 下午 04:16:28
“Class” is the template to describe how an object is constructed.
作者 : player(PLAYER) 貼文超過1000則人氣指數超過100000點
[ 貼文 1595 | 人氣 138661 | 評價 2840 | 評價/貼文 1.78 | 送出評價 104 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/12/16 下午 04:50:44
class Rectangle
{
    int Height;
    int Width;
};

Rectangle* pRec;

如果這樣用的話, 有的編譯器會告訴你, pRec未定義,
甚至在執行時, 直接錯誤中斷 (指標指向 0)
可是令人納悶的是, 有的編譯器竟然還可以正常執行

pRec->Height = 10;

while (pRec->Height)
{
   pRec->Height--;
}
作者 : wincelover(cooler)
[ 貼文 17 | 人氣 240 | 評價 50 | 評價/貼文 2.94 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/12/16 下午 06:19:55
If you declare “Rectangle* pRec=NULL;”, it is sure that pRec is set to NULL. However, when you declare “Rectangle* pRec;”, pointer pRec might not be set to NULL and what the value is to be initialized largely depends on the compiler.


作者 : jonay(jonay) VC++優秀好手C++ Builder優秀好手C++優秀好手貼文超過500則
[ 貼文 887 | 人氣 8025 | 評價 5030 | 評價/貼文 5.67 | 送出評價 30 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/1/27 下午 05:20:02
>>可是在BCB裡
>>似乎類別不用宣告一個變數
BCB的元件幾手都是繼承自TObject
所以你不可以在一個BCB的元件中產生另一個元件(這是BCB很特殊的地方)
所以你看到的都是pointer(也就是實體產生在別處)
但是對於你自已的物件(不是繼承自TObject),還是可以實體存在其內
 板主 : Clark
 > 物件導向程式設計 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 物件導向程式設計 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
物件導向程式設計
1 Arthur 180 
2 藍色LED 150 
3 長長 100 
4 Linkin 100 
5 love seeker 100 
6 Raymond 90 
7 Nets 80 
8 nop 70 
9 Huah 70 
10 矇矇 60 
物件導向程式設計
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
4.699707E-02