之前我們用class建造了一台車,車有三個變數,x,y,ori(代表orientation,方向的意思,我們假設這裡只有在X軸上移動),所以Java code 在增加了method 後如下,其中code 內還有一個重點,就是this的使用,在java內我們可以讓instance variable和costructor的參數名稱相同,只是需要使用this這個方法,還有就是private和public在這裡就能看出差別了!private表示定義的東西只有自己class可以用,而public則是能由其他class調用,之所以這樣區別,則是物件導向內一個很重要的概念,封裝(encapsulation),意思是我們不需要知道class的詳細內容,我們只需要知道如何操作就好(就像我們開車XD)
完整code如下:
public class Car{ private int x;//instance variable private int y; private int ori; /**below shows constrcutor**/ public Car(int x,int y, int ori){ this.x=x; this.y=y; this.ori=ori; } public void drive(int dis) { x=x+ori*dis; } public int showori(){ return ori; } } public class test{ public static void main(String[] args){ Car car1=new Car(1,1,1);//create new car System.out.println(car1.showori());//show the orientation } }這裡有個小問題歐,如果今天我們有一個method在class內,可是class內沒有object,那會是甚麼情形呢我們把這種method稱為static method,也就是在宣告的時候一定要加上static 關鍵字,否則就會compilation error(冏),另外還有一個很類似的詞,被稱為static variable,意思是在一個class內,不屬於object的性質,也就是不是instance variable啦,同樣也是宣告的時候要加上static!有了這兩個強力武器之後,我們對OOP就有一定程度的認識囉!其他的就下期再會吧!
沒有留言:
張貼留言