新增屬性

Java 物件導向程式設計入門

Sani Yusuf

Lead Software Engineering Content Developer

汽車範例

  • 路上的車型各異,其特徵如顏色與車款可用來區分。

汽車

Java 物件導向程式設計入門

區分汽車

  • 就算是同款車,也可用顏色車牌號碼車輛登記來區分。

同款汽車

Java 物件導向程式設計入門

為類別新增屬性

  • 屬性用來描述類別
  • 屬性可以有不同的資料型別

  // Car class
  class Car {
    String model; // Property for model of car

int topSpeed; // Property for car's top speed boolean isInsured; // Property for current insurance state }
Java 物件導向程式設計入門

Java 的建構子

  • 建構子是方法,當建立類別的物件實例時一定會被呼叫
  • 建構子名稱必須與所屬類別相同

  class Passport {
    String firstName; // Passport holder's first name
    String lastName; // Passport holder's last name

    Passport() {
      // Constructor of Passport class
    }
  }


Java 物件導向程式設計入門

在建構子中設定屬性


  class Passport {
    String firstName; // Passport holder's first name
    String lastName; // Passport holder's last name

    Passport() {
      this.firstName = "David";  // Set property inside constructor
      this.lastName = "Beckham";
    }
  }


Java 物件導向程式設計入門

含參數的建構子

  • 建構子可以像一般方法一樣帶有參數

  class Passport {
    String firstName;
    String lastName;

    // Constructor with parameters
    Passport(String firstName, String lastName) {  

    }
  }


Java 物件導向程式設計入門

用建構子參數設定屬性

  • 關鍵字 this 指的是 Passport 物件。
  • 建構子參數常與類別屬性同名。

  class Passport {
    String firstName;
    String lastName;

    Passport(String firstName, String lastName) {
          this.firstName = firstName; // Setting class properties
          this.lastName = lastName;   //  with constructor parameters
    }
  }


Java 物件導向程式設計入門

用參數建立物件實例

  • 物件以 new 關鍵字建立
  • 建構子參數在建立物件時傳入

  // Passport Class with constructor
  class Passport {
    String firstName;
    String lastName;

    // Constructor method
    Passport(String firstName, 
             String lastName){
          this.firstName = firstName;
          this.lastName = lastName;
    }
  }





  // Main Class    
  public class Main {  
    // main method (program entry point)
    public static void main(
      String[] args) {

      // Passing parameters to constructor 
      // Passport(firstName, lastName)
      Passport myPassport = 
        new Passport("Michael","Jackson"); 
      System.out.println(
        myPassport.firstName); // Michael
    }
  }


Java 物件導向程式設計入門

一起來練習吧!

Java 物件導向程式設計入門

Preparing Video For Download...