Sử dụng Abstract trong lập trình Java

Giới thiệu nội dung bài viết

Một trong những tính chất của lập trình hướng đối tượng Java là tính trừu tượng. Để thực hiện được tính trừu tượng này, trong lập trình Java sử dụng từ khoá Abstract và Interface. Trong đó, anh đã có bài chia sẻ về Interface, các bạn có thể tìm đọc lại bài viết tại đây.

Trong bài viết hôm nay, anh sẽ chia sẻ về Abstract. Cụ thể Abstract là gì? Tại sao nên dùng Abstract trong lập trình Java? Nó được áp dụng cho Class và Method như thế nào trong lập trình Java? Hay cách để tạo Abstract trong ngôn ngữ lập trình Java. Ngoài ra, ở cuối bài viết có video tổng kết lại toàn bộ bài học giúp các bạn hệ thống lại kiến thức một lần nữa để giúp ghi nhớ bài học lâu hơn.


1. Abstract trong lập trình Java là gì

Trừu tượng trong lập trình Java có nghĩa là tuyến trình che giấu đi những chi tiết quan trọng và chỉ hiển thị những thông tin cần thiết cho người sử dụng. Để thực hiện được tính trừu tượng chúng ta sử dụng từ khoá abstract hoặc interface. Trong bài này anh sẽ giới thiệu về cách sử dụng abstract. Chúng ta có thể áp dụng từ khoá abstract cho class hoặc method. Khi áp dụng abstract cho class thì chúng ta không thể tạo đối tượng từ lớp abstract được. Abstract method chỉ được sử dụng và khai báo trong abstract class. Abstract method sẽ không có phần thân (code thực thi). Phần thân code thực thi sẽ được viết bởi lớp con kế thừa abstract class.

  • Abstract class Animal ví dụ sau đây dùng từ khoá abstract. Chú ý chúng ta không thể tạo đối tượng Animal ani = new Animal() được.


1
2
3
4
5
6
abstract class Animal {
  public abstract void animalSound();
  public void sleep() {
    System.out.println("Zzz");
  }
}
  • Ví dụ hoàn chỉnh về abstract class và code thực thi abstract method trong lớp con
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Abstract class
abstract class Animal {
  // Abstract method (does not have a body)
  public abstract void animalSound();
  // Regular method
  public void sleep() {
    System.out.println("Zzz");
  }
}

// Subclass (inherit from Animal)
class Pig extends Animal {
  public void animalSound() {
    // The body of animalSound() is provided here
    System.out.println("The pig says: wee wee");
  }
}

class MyMainClass {
  public static void main(String[] args) {
    Pig myPig = new Pig(); // Create a Pig object
    myPig.animalSound();
    myPig.sleep();
  }
}

2. Tại sao chúng ta sử dụng Abstract

  • Để đảm bảo tính bảo mật.
  • Chúng ta chỉ đưa ra những thông tin cần thiết và che giấu những thông tin quan trọng.

3. Demo Video

4. Source code

Sourcecode


Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm

Các khoá học lập trình MIỄN PHÍ tại đây


Comments