การทำให้คลาส Car เป็น abstract

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

Sani Yusuf

Lead Software Engineering Content Developer

ทำความเข้าใจ abstract class

  • คำว่า Car มีไว้เป็นตัวแทนเท่านั้น
  • ยังต้องระบุให้ชัดว่าเป็นรถประเภทใด

Toyota

Mercedes

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

อุปมาเรื่องอาหารกับ abstract class

  • ในร้านอาหาร เราไม่สั่งแค่ อาหาร
  • เราระบุเสมอว่าต้องการอาหารประเภทใด
    • ขนมปัง
    • พาสต้า
    • ข้าว

Bread

Pasta

Rice

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

ทำความเข้าใจ abstract class

  • Abstract class มีไว้เก็บฟีเจอร์สำหรับคลาสที่สืบทอด
  • Abstract class ไม่สามารถสร้าง object instance ได้
  • Abstract class โดยทั่วไปไม่มีการ implement โค้ด
Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

Abstract class Car


  // Car abstract class
  abstract class Car {    
    // abstract drive method
     abstract void drive(); // No Code Implementation 

  }








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

Abstract method

  • Abstract method ไม่มีการ implement โค้ด
  • คลาสที่สืบทอดต้องทำการ implement abstract method

   // Car abstract class
  abstract class Car {    
    // abstract drive method
     abstract void drive(); // No Code  
                            // implementation
  }





  // Toyota class 
  class Toyota extends Car {  
     void drive(){
      // Toyota drive() implementation
    }           
  }
  // Porsche class
  class Porsche extends Car {  
     void drive(){
      // Porsche drive() implementation
    }           
  }
Java เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

การสร้าง concrete method

  • Concrete method คือเมธอดที่มีการ implement โค้ด
  • Subclass ไม่จำเป็นต้อง implement concrete method

  // abstract Car class
  abstract class Car {
    private int topSpeed;

    // Concrete method with implementation
    public getTopSpeed(){
         return this.topSpeed;
    }

    abstract void drive(); 
    // No Code Implementation        
  }

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

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

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

Preparing Video For Download...