物件導向程式設計

 

 

第五章、Java物件導向程式設計

 

 


授課教師:陳慶瀚

WWW : http://www.miat.ee.isu.edu.tw/java

E-mail : pierre@isu.edu.tw   

 


    5.7 其他物件觀念

    static 成員

    被宣告為static的成員(成員變數或成員函式),將只屬於類別而不屬於任何一個個別物件。

    任何一個該類別的物件修改static成員變數值,所有該類別的物件的此一變數值都會全部改變。

     

    class  Car

    {

        static int count=0;

        public Car()

        {

            count=count+1;

        }

    }

     
    class CarTest 
    {
      public static void main(String args[]) 
      {  
    	Car myCar = new Car();
    	Car yourCar = new Car();
    	Car hisCar = new Car();
    	System.out.println(myCar.count);
      }
    }

     

    abstract宣告

     

    類別和成員函式均可宣告為abstract,如

     

    public abstract class Vehicle  
    public abstract void fuel();
     

    一個abstract的類別是不能產生物件的,例如下列code會產生 compile-time error :

    Vehicle m = new Vehicle();
    

    一個abstract的成員函式則不能有implementation,也就是它沒有函式body的內容定義 :

    public abstract void fuel();

    abstract的成員函式是提供它的子類別再定義或覆寫(override)。

    Interfaces物件類別

     

    在Java語法中,Interfaces是一個專有名詞,它的宣告如同類別,但是只能有 abstract成員函式和 final, static 變數。所有成員函式和成員變數全為public。

    Interfaces的作用是提供一個類別的子類別可以覆寫的成員。

    例如:
    public interface add 
    {
      public double addAnObject();
    }

     

 


課堂練習:


 

物件導向程式設計

義守大學電機系 陳慶瀚

2001.11.06