Tập trung hóa mã với kế thừa

Nhập môn Lập trình Hướng đối tượng với Java

Sani Yusuf

Lead Software Engineering Content Developer

Làm việc với nhiều lớp

  // Lớp Toyota
  class Toyota {
      public String model;
      public String color;
      public String licensePlate;  
  }
  // Lớp Honda
  class Honda {
      public String model;
      public String color;
      public String licensePlate;       
  }
  // Lớp Mercedes
  class Mercedes {
      public String model;
      public String color;
      public String licensePlate;        
  }
  • Trùng lặp là thường gặp khi làm việc với nhiều lớp
Nhập môn Lập trình Hướng đối tượng với Java

Sức mạnh của kế thừa

  • Kế thừa giải quyết vấn đề lặp mã
  • Có thể đặt chung mã vào một nơi
  • Các lớp kế thừa bằng từ khóa extends
  // Lớp Car
  class Car {
     // Mọi thuộc tính public 
     // đều được kế thừa
     public String model;
     public String color;
     public String licensePlate;  
 }

  // Toyota kế thừa từ Car
  class Toyota extends Car {

  }
  // Honda kế thừa từ Car
  class Honda extends Car {

  }
  // Mercedes kế thừa từ Car
  class Mercedes extends Car {

  }
Nhập môn Lập trình Hướng đối tượng với Java

Giới thiệu lớp cơ sở

  • Lớp cơ sở là lớp chứa mã dùng chung
  • Lớp Car là ví dụ về lớp cơ sở

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



Nhập môn Lập trình Hướng đối tượng với Java

Kế thừa với lớp con

  • Lớp con là lớp kế thừa từ lớp cơ sở
  • Lớp Toyota là ví dụ về lớp con
  • Lớp con kế thừa mọi thuộc tính & phương thức public của lớp cơ sở
  • Phương thức super() gọi constructor của lớp cơ sở
  // Lớp cơ sở Car
  class Car {
     public String model;
     public String color;
     public String licensePlate;  
 }

 // Lớp con Toyota
  class Toyota extends Car {


// Constructor của Toyota public Toyota(){ // super() gọi // constructor của lớp cơ sở (Car) super(); } }
Nhập môn Lập trình Hướng đối tượng với Java

Tạo đối tượng kế thừa

  • Thuộc tính từ lớp cơ sở có thể được đối tượng sử dụng

  // Lớp Car  
  class Car {
    public String color;   

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




  // Lớp con Toyota
  class Toyota extends Car {
     public Toyota(){
       super();
     }
  }
  // Lớp Main 
  public class Main {
    public static void main(String[] args) {
        Toyota myToyota = new Toyota("Brown");
        // Thuộc tính "color" được kế thừa từ "Car"
        System.out.println(
          myToyota.color); // Brown
    }
  }
Nhập môn Lập trình Hướng đối tượng với Java

Vamos praticar!

Nhập môn Lập trình Hướng đối tượng với Java

Preparing Video For Download...