การรวมโค้ดด้วย Inheritance

Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

Sani Yusuf

Lead Software Engineering Content Developer

การทำงานกับหลายคลาส

  // Toyota class
  class Toyota {
      public String model;
      public String color;
      public String licensePlate;  
  }
  // Honda class
  class Honda {
      public String model;
      public String color;
      public String licensePlate;       
  }
  // Mercedes class
  class Mercedes {
      public String model;
      public String color;
      public String licensePlate;        
  }
  • การทำงานกับหลายคลาสมักพบปัญหาโค้ดซ้ำซ้อน
Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

ประโยชน์ของ Inheritance

  • Inheritance แก้ปัญหาโค้ดซ้ำซ้อน
  • โค้ดที่ใช้ร่วมกันอยู่ในที่เดียว
  • คลาสสามารถ Inherit ได้ด้วยคีย์เวิร์ด extends
  // Car class
  class Car {
     // All public properties 
     // are inherited
     public String model;
     public String color;
     public String licensePlate;  
 }

  // Toyota inheriting from Car class
  class Toyota extends Car {

  }
  // Honda inheriting from Car class
  class Honda extends Car {

  }
  // Mercedes inheriting from Car class
  class Mercedes extends Car {

  }
Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

รู้จัก Base Class

  • Base Class คือคลาสที่เก็บโค้ดที่ใช้ร่วมกัน
  • คลาส Car เป็นตัวอย่างของ Base Class

  class Car {
     public String model;
     public String color;
     public String licensePlate;  
 }



Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

การ Inherit ด้วย Subclass

  • Subclass คือคลาสที่ Inherit มาจาก Base Class
  • คลาส Toyota เป็นตัวอย่างของ Subclass
  • Subclass รับ Property และ Method ที่เป็น Public ทั้งหมดจาก Base Class
  • เมธอด super() ใช้เรียก Constructor ของ Base Class
  // Car Base Class
  class Car {
     public String model;
     public String color;
     public String licensePlate;  
 }

 // Toyota subclass
  class Toyota extends Car {


// Toyota constructor public Toyota(){ // super() calls // baseclass constructor (Car) super(); } }
Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

การสร้าง Instance จาก Inheritance

  • Object Instance สามารถใช้ Property จาก Base Class ได้

  // Car class  
  class Car {
    public String color;   

    // Car constructor
    public Car(String color){
      this.color = color;
    }    
  }




  // Toyota subclass
  class Toyota extends Car {
     public Toyota(){
       super();
     }
  }
  // Main class 
  public class Main {
    public static void main(String[] args) {
        Toyota myToyota = new Toyota("Brown");
        // "color" property inherited from "Car"
        System.out.println(
          myToyota.color); // Brown
    }
  }
Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

มาฝึกกันเถอะ!

Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

Preparing Video For Download...