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

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

Bạn đã từng nghe đề cập về khái niệm Interface trong lập trình hướng đối tượng Java. Nhưng bạn đã thực sự biết khi nào thì nên dùng Interface trong quá trình lập trình Java chưa? Bài viết dưới đây sẽ giúp bạn hiểu được Interface là gì? Các tính chất, thuộc tính, phương thức của Interface. Cũng như biết khi nào thì nên áp dụng Interface vào trong quá trình code các chương trình lập trình Java. Bài chia sẻ sẽ hướng dẫn bạn cách thao tác với Interface thông qua các ví dụ minh hoạ. Kèm theo video tổng kết bài học ở cuối bài sẽ giúp bạn một lần nữa hệ thống lại kiến thức Java cơ bản này. Từ đó giúp bạn ghi nhớ bài học lâu hơn.


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

  • Như các em đã học bài học hôm trước về tính trừu tượng, nếu các em quên thì có thể xem lại tại [đây] (https://levunguyen.com/laptrinhjava/2020/01/01/tinh-truu-tuong/). Thì Interface chính là cách mà chúng ta làm tính trừu tượng trong lập trình. Ngoài cách dùng abstract class thì để thực hiện được tính trừu tượng ta có thể sử dụng Interface.

  • Interface chính là 100% abstract class có nghĩa là trong abstract class ta có 10 phương thức như ta chỉ cần 5 phương thức abstract cũng được. 5 phương thức còn lại là các phương thức bình thường. Tuy nhiên nếu Abstract Class có 10 phương thức abstract thì lớp con phải Override lại 10 phương thức. Cũng tương tự như vậy tất cả các phương thức trong interface nếu có lớp con kế thừa nó thì bắt buộc lớp con phải Override lại 10 phương thức giống như abstract class vậy.

  • Chúng ta sử dụng từ khóa interface để khai báo một Interface trong lập trình Java.

1
2
3
4
5
// interface
interface Animal {
  public void animalSound(); 
  public void run(); 
}
  • Để sử dụng được interface thì chúng ta sử dụng từ khoá implements
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
// Interface
interface Animal {
  public void animalSound(); // interface method (does not have a body)
  public void sleep(); // interface method (does not have a body)
}

// Pig "implements" the Animal interface
class Pig implements Animal {
  public void animalSound() {
    // The body of animalSound() is provided here
    System.out.println("The pig says: wee wee");
  }
  public void sleep() {
    // The body of sleep() is provided here
    System.out.println("Zzz");
  }
}

class MyMainClass {
  public static void main(String[] args) {
    Pig myPig = new Pig();  // Create a Pig object
    myPig.animalSound();
    myPig.sleep();
  }
}
  • Trong Java 1 class con chỉ có thể kế thừa 1 lớp cha. Ví dụ Class Cat extends Animals mà thôi chứ không thực hiện đa kế thừa được như Cat extends Animals,Vihecial được

  • Nhưng trong Interface chúng ta có thể thực hiện đa kế thừa được.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
interface FirstInterface {
  public void myMethod(); // interface method
}

interface SecondInterface {
  public void myOtherMethod(); // interface method
}

class DemoClass implements FirstInterface, SecondInterface {
  public void myMethod() {
    System.out.println("Some text..");
  }
  public void myOtherMethod() {
    System.out.println("Some other text...");
  }
}

class MyMainClass {
  public static void main(String[] args) {
    DemoClass myObj = new DemoClass();
    myObj.myMethod();
    myObj.myOtherMethod();
  }
}


2. Demo Video

3. 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