Interface trong lập trình hướng đối tượng Java

Lập trình Java cơ bản đến hướng đối tượng

5.0 (4 đánh giá)
Tạo bởi Lê Châu Cập nhật lần cuối 01:19 26-07-2020 56.780 lượt xem 9 bình luận
Tác giả/Dịch giả: Lê Châu
Học nhanh

Danh sách bài học

Interface trong lập trình hướng đối tượng Java

Dẫn nhập

Ở bài trước, chúng ta đã tìm hiểu về TÍNH TRỪU TƯỢNG trong lập trình hướng đối tượng. Hôm nay, Kteam sẽ giới thiệu cho các bạn về interface để biết về đa kế thừa trong Java.


Nội dung

Để đọc hiểu bài này, tốt nhất các bạn nên có kiến thức cơ bản về các phần sau:

Bài này chúng ta sẽ tìm hiểu những vấn đề sau:

  • Interface là gì? Tại sao phải sử dụng?
  • Khai báo và sử dụng interface

Interface là gì? Tại sao phải sử dụng?

Interface là một kiểu dữ liệu tham chiếu trong Java. Nó là tập hợp các phương thức abstract (trừu tượng). Khi một lớp kế thừa interface, thì nó sẽ kế thừa những phương thức abstract của interface đó.

Một số đặc điểm của interface:

  • Không thể khởi tạo, nên không có phương thức khởi tạo.
  • Tất cả các phương thức trong interface luôn ở dạng public abstract mà không cần khai báo.
  • Các thuộc tính trong interface luôn ở dạng public static final mà không cần khai báo, yêu cầu phải có giá trị.

Mục đích của interface là để thay thế đa kế thừa lớp của những ngôn ngữ khác (ví dụ như C++, Python…). Ngoài ra, interface sẽ giúp đồng bộ và thống nhất trong việc phát triển hệ thống trao đổi thông tin.

Khai báo và sử dụng interface

Cú pháp:

interface <tên interface> {

        // Khai báo các thành phần bên trong interface

}

 Bây giờ ta sẽ tạo ra interface IStudy giành riêng cho class Student, ta vẫn tạo file .java như mọi khi và viết chương trình như sau:

interface IStudy {
	void study();
}

Ta cho class Student kế thừa nó như sau:

public class Student extends Person implements IStudy{

 Nếu dùng Eclipse, bạn sẽ thấy IDE yêu cầu override lại phương thức study() của IStudy ngay:

Interface trong lập trình hướng đối tượng Java

Ta sẽ overriding, thêm đoạn chương trình trong lớp Student như sau:

@Override
public void study() {
	// TODO Auto-generated method stub
	System.out.println(this.name+" is studing");
}

Một class có thể kế thừa nhiều interface, ta sẽ thử tạo thêm interface ISpeak:

interface ISpeak {
	void speak();
}

 Ta thêm interface ISpeak vào class Student bằng cách sau:

public class Student extends Person implements IStudy, ISpeak{

 Hoặc, ta thử thêm ISpeak ở lớp cha Person:

public abstract class Person implements ISpeak{

 Bởi vì class Person là lớp ảo, nên Person không cần override phương thức speak(). Ngoài ra, Student là lớp con Person, nên mặc dù Student không kế thừa ISpeak trực tiếp nhưng vẫn phải override phương thức speak(). Ta sẽ thấy Eclipse yêu cầu khai báo:

Interface trong lập trình hướng đối tượng Java

Ta sẽ hoàn thiện lớp Student như sau:

public class Student extends Person implements IStudy{
	
	public String universityName;

	public Student(String name, int age, float height, String universityName) {
		super(name, age, height);
		this.universityName = universityName;
	}
	

	public void getInfo() {
		super.getInfo();
		System.out.println("University Name:"+this.universityName);
	}


	@Override
	public Object clone() {
		Student other = new Student(this.name, this.getAge(), this.height, this.universityName);
		return other;
	}


	@Override
	public void study() {
		// TODO Auto-generated method stub
		System.out.println(this.name+" is studing");
	}


	@Override
	public void speak() {
		// TODO Auto-generated method stub
		System.out.println(this.name+" is speaking");
	}
}

Kết

Như vậy chúng ta đã tìm hiểu interface trong lập trình hướng đối tượng

Ở bài sau, Kteam sẽ giới thiệu đến bạn về  PHƯƠNG THỨC MAIN TRONG JAVA

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Interface trong lập trình hướng đối tượng Java dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả/Dịch giả

Quan tâm lập trình và lịch sử.

Thích tìm hiểu công nghệ mới

Khóa học

Lập trình Java cơ bản đến hướng đối tượng

Với mục đích giới thiệu đến mọi người về Ngôn ngữ Java -  một ngôn ngữ lập trình khá mới mẻ so với C, C++, Java, PHP ở Việt Nam.

Thông qua khóa học LẬP TRÌNH JAVA CƠ BẢN ĐẾN HƯỚNG ĐỐI TƯỢNG, Kteam sẽ hướng dẫn các bạn kiến thức cơ bản của Java. Để từ đó, có được nền tảng cho phép bạn tiếp tục tìm hiểu những kiến thức tuyệt vời khác của Java hoặc là một ngôn ngữ khác.

Cụ thể trong khóa học này, Kteam sẽ giới thiệu với các bạn Java ở phiên bản Java 8

Đánh giá

Hoàng Quân đã đánh giá 15:04 08-12-2021

thiennhan284 đã đánh giá 16:17 10-02-2020

Rất hay!!!

huytrquang1103 đã đánh giá 03:39 29-12-2019

Nguyễn Văn Trung đã đánh giá 23:08 12-05-2019

cám ơn Howkeyteam !

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
dinhthongkm đã bình luận 11:36 12-07-2022

is studing  kk

HoàngTLU đã bình luận 10:00 19-06-2020

Nếu phỏng vấn người ta hỏi "Vì sao mỗi lớp con chỉ được có 1 lớp cha" thì trả lớp thế nào ạ

HoàngTLU đã bình luận 10:00 19-06-2020

Nếu phỏng vấn người ta hỏi "Vì sao mỗi lớp con chỉ được có 1 lớp cha" thì trả lớp thế nào ạ

HoàngTLU đã bình luận 10:00 19-06-2020

Nếu phỏng vấn người ta hỏi "Vì sao mỗi lớp con chỉ được có 1 lớp cha" thì trả lớp thế nào ạ

HoàngTLU đã bình luận 10:00 19-06-2020

Nếu phỏng vấn người ta hỏi "Vì sao mỗi lớp con chỉ được có 1 lớp cha" thì trả lớp thế nào ạ

Không có video.