官术网_书友最值得收藏!

3.2 類的示例

在現實世界中,經常會發現許多單個對象都是同類。有可能成千上萬條狗都是一樣的品種,比如都是哈士奇或者藏獒。每種類型的狗都具有相同的行為。在面向對象的術語中,我們將某條狗稱為狗對象類(class of objects)的實例(instance)。類(class)就是創建單個對象的品種。

下面是一個Dog(狗)類的實現:

字段color和name是對象的狀態,方法bark和wag定義了與外界的交互。

你可能已經注意到,Dog類不包含main方法。這是因為它不是一個完整的應用程序。這里只是定義了Dog這個類,并可能會在應用程序中使用。創建和使用新的Dog對象是應用程序中其他類的責任。

下面的DogDemo類創建兩個單獨的Dog對象,并調用其方法:

在這個例子中,類的名稱是Dog,Dog對象的名稱分別是dog1和dog2,可向Lucy對象發出的請求包括叫喚(bark)、搖尾(wag)。我們是通過使用new關鍵字來新建對象的。為了向對象發送一條消息,我們列出對象名(dog1、dog2),再用一個句點符號(.)把它同消息名稱(bark、wag)連接起來。從中可以看出,使用一些預先定義好的類時,我們在程序里采用的代碼是非常簡單和直觀的。

執行程序,輸出為:

   Black Lucy barking...
   Black Lucy wagging...
   White Lily barking...
   White Lily wagging...
主站蜘蛛池模板: 清远市| 鄂州市| 墨竹工卡县| 寿宁县| 邹平县| 榆中县| 乌鲁木齐县| 米脂县| 寿光市| 资中县| 长乐市| 浮梁县| 古蔺县| 东城区| 巨鹿县| 太仓市| 九台市| 二连浩特市| 湘阴县| 察雅县| 惠来县| 宁波市| 双辽市| 磴口县| 读书| 玉山县| 乌拉特前旗| 塘沽区| 叶城县| 烟台市| 桂阳县| 东阳市| 丁青县| 社旗县| 湖口县| 榕江县| 兴化市| 时尚| 双辽市| 高要市| 彭阳县|