天天看點

objective-C 的OOP(上)--類定義、繼承及方法調用

objective-C 的OOP(上)--類定義、繼承及方法調用

因為要用到“顔色”以及“矩形區域”二個枚舉,先把他們抽出來單獨放在CommDef.h檔案中

然後再定義基類Shape,注意:在obj-C中,定義一個類通常分成二部分,一部分是".h"的檔案,用來申明類有哪些成員(也稱為類的定義檔案,類似于接口),另一部分是".m"的檔案,用來提供具體實作

Shape類的申明部分如下:(Shape.h)

Shape類的實作部分如下:(Shape.m)

文法有點奇怪,初次接觸,隻能強迫自己忘記吧。

然後定義子類Circle

申明部分Circle.h

實作部分Circle.m

注:上面展示了在obj-C中如何調用父類的方法[super getColorName:fillColor]

子類Rectangle

實作部分

子類Ellipse

最後看下調用的主函數HelloWorld.m

注:上面的代碼中有一個id的變量,在obj-C中id相當于“任意類型”,意為指向某對象的指針(哪怕你不知道這個對象是什麼類型),總之,如果你不知道某對象的具體類型時,用它就對了。同時我們也看到了,建立一個類的執行個體用“[類 new]”來完成。

最後附上檔案結構圖:

objective-C 的OOP(上)--類定義、繼承及方法調用

繼續閱讀