程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 類的概念

類的概念

編輯:關於JAVA

什麼是類?

類是對象的藍圖或者原型。這一部分會詳細說明類是怎樣模擬現實世界中對象的狀態和行為的。它是基礎,它會告訴你就是一個簡單的類也能很好地模擬對象的狀態和行為。

在現實世界中,你會發現很多獨特的對象具有相同的種類。比如成千上萬輛自行車,制作方法和模型都是相同的。每一個輛自行車都是從相同的設備和圖紙中制造出來的,所以具有相同的組件。在面向對象的術語中,我們就說這輛自行車是自行車這個對象的中的一個實例。類就是對象的藍圖。

下面給出自行車這個類的用法:

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語法可能對於來說是很新鮮的,但是這個類的設計是基於前面所討論的自行車對象。字段cadence,speed和gear都是對象的狀態,方法changeCadence,changeGear,seepUp等等定義了與外界的交互。

 

你可能注意到自行車類不包含main方法。這是因為上面的不是一個完整的應用程序,它僅僅是可能會在自行車對象中被使用的藍圖。它的功能是創建一個自行車的新對象,這個對象可以在其他的程序中使用。

 

下面這個BicycleDemo類就是創建兩個單獨的自行車對象,還要調用它們的方法:

class BicycleDemo {
    public static void main(String[] args) {
    
                    // Create two different Bicycle objects
                    Bicycle bike1 = new Bicycle();
                    Bicycle bike2 = new Bicycle();
    
                    // Invoke methods on those objects
                    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();
    }
}

其打印的結果是:

cadence:50 speed:10 gear:2

cadence:40 speed:20 gear:3

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved