My Labs! Java

          Work is Worth Doing of Worth Doing Well.

          在真實(shí)世界中,你經(jīng)常會(huì)發(fā)現(xiàn)許多單獨(dú)的對(duì)象都屬于相同的種類。可能存在有上千種自行車,它們?nèi)慷加邢嗤臉?gòu)成與模型。每種自行車都構(gòu)造于相同的藍(lán)圖集并且因此而包含了相同的組成部分。在向?qū)ο蟮男g(shù)語中,我們就可以說你的自行車是自行車對(duì)象類的一個(gè)實(shí)例。也就是說,類就是那些被創(chuàng)建對(duì)象的藍(lán)圖。

          下列 Bicycle 類就是一種可能的自行車實(shí)現(xiàn):

          class Bicycle {
          
                 int cadence = 0;
                 int speed = 0;
                 int gear = 1;
          
                 void changeCadence(int newValue) {
                      cadence = newValue;
                 }
          
                 void changeGear(int newValue) {
                      gear = newValue;
                 }
          
                 void speedUp(int increment) {
                      speed = speed + increment;   
                 }
          
                 void applyBrakes(int decrement) {
                      speed = speed - decrement;
                 }
          
                 void printStates() {
                      System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
                 }
          }

          Java 編程語言的語法對(duì)于你來說可能是全新的,但是這個(gè)類的設(shè)計(jì)是基于前面所討論的自行車對(duì)象。字段 cadence,speed 和 gear 呈現(xiàn)了對(duì)象的狀態(tài),而方法(changeCadence、changeGear,speedUp 等等。)則定義了它與外部世界的交互。

          你可能已經(jīng)注意到 Bicycle 類并沒有包含 main 方法。這是因?yàn)樗皇且粋€(gè)完整的應(yīng)用程序;它只是可能在某個(gè)應(yīng)用程序中被使用的自行車藍(lán)圖。創(chuàng)建并且使用新的 Bicycle 對(duì)象的職責(zé)則屬于你的應(yīng)用程序中的一些其他的類。

          下面的 BicycleDemo 類創(chuàng)建了兩個(gè)單獨(dú)的 Bicycle 對(duì)象并且調(diào)用它們的方法:

          class BicycleDemo {
               public static void main(String[] args) {
          
                    // 創(chuàng)建兩個(gè)不同的 Bicycle 對(duì)象
                    Bicycle bike1 = new Bicycle();
                    Bicycle bike2 = new Bicycle();
          
                    // 調(diào)用這些對(duì)象的方法
                    bike1.changeCadence(50);
                    bike1.speedUp(10);
                    bike1.changeGear(2);
                    bike1.printStates();
          
                    bike2.changeCadence(50);
                    bike2.speedUp(10);
                    bike2.changeGear(2);
                    bike2.changeCadence(40);
                    bike2.speedUp(10);
                    bike2.changeGear(3);
                    bike2.printStates();
               }
          }

          這個(gè)測(cè)試打印輸出了這兩部自行車最終的踏板特性:cadence,speed 與 gear。

          cadence:50 speed:10 gear:2
          cadence:40 speed:20 gear:3
          posted on 2007-05-02 14:58 Laeb 閱讀(424) 評(píng)論(0)  編輯  收藏 所屬分類: 開始 / 面向?qū)ο蟮木幊谈拍?
          主站蜘蛛池模板: 甘洛县| 黑龙江省| 田东县| 夏河县| 海淀区| 辛集市| 城固县| 湖北省| 酒泉市| 濉溪县| 三穗县| 平安县| 南华县| 宜兰县| 兖州市| 同心县| 靖江市| 理塘县| 江川县| 陕西省| 宁南县| 龙州县| 伽师县| 隆尧县| 绥中县| 建平县| 昌都县| 米林县| 海林市| 股票| 聂拉木县| 金乡县| 望谟县| 五大连池市| 乐清市| 定南县| 黄平县| 西宁市| 尖扎县| 米泉市| 正宁县|