類別(class) 類別class與物件object
類別(class) 「類別」是一個模版。 「類別」就是把資料(data members)與功能(member functions)「封 裝(encapsulate)」在一起。 類別是由「資料成員」與「成員函數」封裝而成
定義類別的語法格式 class 類別名稱 { 資料型態 變數名稱; ... 傳回值的資料型態 method名稱(引數1,引數2,...) 程式敘述 ; return 運算式; } 資料成員 method的本體 成員函數(定義method的內容)
範例-定義矩形類別 定義一個「矩形類別」 資料成員:寬width, 高height 成員函數:算面積area(), 周長perimeter()
範例-定義矩形類別 class Crectangle { int width; int height; int area() { return width*height; } int perimeter() { return 2*(width+height); } } 學生不做練習,最後的完整範例再做練習
物件(object) 利用「類別(模版) 」建立物件 (實物)。 將類別實體化稱之為物件,反之,由類別所建立的物件稱為類別的實例(instance)。 實體化稱之為new 宣告與建立物件的語法格式: 建構元部份,待下一次再教。 類別名稱 物件名稱; //宣告變數 物件名稱=new 類別建構元(); //實體化成物件 簡化寫法 類別名稱 物件名稱=new 類別建構元(); //宣告與建立物件
範例-矩形 以「矩形類別」範例而言: 先打造一個矩形模版(定義類別 Crectangle)。
存取物件的內容 存取物件裡的資料成員(data members)或成員函數(member functions)。 透過「點」做存取。 範例 存取rect1物件的寬 rect1.width=20; 存取rect1物件的面積 rect1.area(); 物件名稱.資料成員名稱;
範例-完整程式碼 public class Sample{ public static void main(String args[]){ Crectangle rect1=new Crectangle(); rect1.width=20; rect1.height=5; System.out.println("矩形的寬="+rect1.width+" 高="+rect1.height); System.out.println("矩形的面積="+rect1.area()); } class Crectangle{ int width, height; int area(){ return width*height;
範例程式碼編譯後 此Sample.java會產生每個類別編譯後獨立的.class檔案。