C++用類來描述對(duì)象,類是對(duì)現(xiàn)實(shí)世界中相似事物的抽象,同是“雙輪車”的摩托車和自行車,有共同點(diǎn),也有許多不同點(diǎn),
類的概念
。“車”類是對(duì)摩托車、自行車、汽車等相同點(diǎn)和不同點(diǎn)的提取與抽象,如所示。類的定義分為兩個(gè)部分:數(shù)據(jù)(相當(dāng)于屬性)和對(duì)數(shù)據(jù)的操作(相當(dāng)于行為)。從程序設(shè)計(jì)的觀點(diǎn)來說,類就是數(shù)據(jù)類型,是用戶定義的數(shù)據(jù)類型,對(duì)象可以看成某個(gè)類的實(shí)例(某個(gè)類的變量),類和對(duì)象的關(guān)系與前面介紹的“結(jié)構(gòu)”和“結(jié)構(gòu)體變量”的關(guān)系相似,但又有不同,在本章稍后類的定義一節(jié)中后具體說明這一問題。
類是分層的
每一大類中可分成若干小類,也就是說,類是分層的,如圖8.2所示?蓪⑺械膱D形抽象成“圖形”類,該類中共同的屬性有很多,這里只取“顏色”這個(gè)屬性,對(duì)所有圖形而言,都可定義“顯示”操作。同時(shí),“圖形”類可進(jìn)一步分為“一維圖形”類、“二維圖形”類和其他類,根據(jù)形狀的不同,“一維圖形”類可進(jìn)一步分為“直線”類和“折線”類,“二維圖形”類又可分為“正方形”類和“圓”類,
電腦資料
《類的概念》(http://m.clearvueentertainment.com)。下層的類除了“繼承”了上層類中定義的屬性和行為外,還可增加新的屬性和行為(如“圓”類相比“二維圖形”類增加了“圓心”和“半徑”屬性,增加了“求面積”這一行為),甚至可以在下層類中重新定義上層類已定義的屬性和行為(如“直線”類、“折線類”、“正方形”類和“圓”類中都重新定義了“圖形”類中已定義的“顯示”操作)。
類和對(duì)象的關(guān)系
對(duì)象需要從屬性和行為兩個(gè)方面進(jìn)行描述,類是對(duì)象的封裝。類的使用主要有以下幾個(gè)步驟:
定義類:C++中,分別用數(shù)據(jù)成員和函數(shù)成員來表現(xiàn)對(duì)象的屬性和行為。類的定義強(qiáng)調(diào)“信息隱藏”,將實(shí)現(xiàn)細(xì)節(jié)和不允許外部隨意訪問的部分屏蔽起來。因此,在類定義中,需要用public或private將類成員區(qū)分開(此外,還有protected型的數(shù)據(jù)成員,后面課程會(huì)有介紹),外界不能訪問程序的private成員,只能訪問public數(shù)據(jù)成員,對(duì)象間的信息傳送也只能通過public成員函數(shù),保證了對(duì)象的數(shù)據(jù)安全。
實(shí)現(xiàn)類:即進(jìn)一步定義類的成員函數(shù),使各個(gè)成員函數(shù)相互配合以實(shí)現(xiàn)接口對(duì)外提供的功能,類的定義和實(shí)現(xiàn)是由類設(shè)計(jì)者完成的。
使用類:通過該類聲明一個(gè)屬于該類的變量(即對(duì)象),并調(diào)用其接口(即public型的數(shù)據(jù)成員或函數(shù)成員),這是使用者的工作。