Kế thừa trong lập trình hướng đối tượng | How Kteam

Dẫn nhập

Trong bài trước, Kteam đã giải thích các bạn từ khóa THIS. Tiếp tục ở bài này, chúng ta sẽ tìm hiểu tính Kế thừa trong lập trình hướng đối tượng.

Nội dung

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

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

  • Khái niệm kế thừa
  • Khai báo và sử dụng kế thừa
  • Chú ý về kế thừa

Khái niệm kế thừa

Kế thừa có nghĩa là thừa hưởng lại, ví dụ như tài sản của ba mẹ sẽ được giao lại cho con cái.

Kế thừa trong lập trình (Inheritance) có nghĩa là một lớp sẽ thừa hưởng lại những thuộc tính, phương thức từ lớp khác.

Việc sử dụng kế thừa nhằm mục đích tái sử dụng code đã viết trước đó, thuận tiện trong việc bảo dưỡng và tăng cấp chương trình .

Khai báo và sử dụng kế thừa

Cú pháp:

class extends {

}

Ví dụ: ta có 2 lớp PersonStudent như sau

Kế thừa trong lập trình hướng đối tượng

Ta thấy 2 lớp Person Student có chung thuộc tính và phương thức. Ta sẽ để nguyên code ở lớp Person lại:

public class Person {
	
	public String name;
	public int age;
	public float height;
	
	public Person(String name, int age, float height) {
		this.name = name;
		this.age = age;
		this.height = height;
	}
	
	public void getInfo() {
		System.out.println("Name:"+this.name);
		System.out.println("Age:"+this.age);
		System.out.println("Height:"+this.height);
	}	
}

Bây giờ ta chỉ cần cho lớp Student kế thừa Person như sau :

public class Student extends Person{

	public Student(String name, int age, float height) {
		super(name, age, height);
	}	
}

Trong phương thức khởi tạo Student, ta sẽ dùng từ khóa super để cho lớp con truy cập các những thứ liên quan đến lớp cha. Như ví dụ trên thì ta dùng super() để gọi phương thức khởi tạo lớp cha.

Tiếp theo, ta thử khởi tạo đối tượng Student và gọi phương thức getInfo():

public class HelloWorld {

	public static void main(String[] args) {
		Student a = new Student("Chau", 21, 1.7f);
		a.getInfo();
	}
}

Theo kết quả, đối tượng a sử dụng được phương thức getInfo() từ lớp cha

Kế thừa trong lập trình hướng đối tượng

Chú ý về kế thừa

Slogan đặc trưng kế thừa: “Cha có thì con có, con có chưa chắc cha đã có”

Tính chất kế thừa những ngôn từ lập trình hướng đối tượng người dùng đa phần đều tương đương với nhau về đặc thù. Có thể những bạn không nhớ khái niệm và cú pháp, nhưng chỉ cần hiểu câu nói trên là bạn đã hiểu về kế thừa .

Ví dụ: Như ví dụ trước thì lớp Student kế thừa Person, ngoài những thuộc tính kế thừa ra, ta muốn thêm thuộc tính universityName cho Student

public class Student extends Person {
	
	public String universityName;

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

Như vậy theo đúng tính chất: lớp cha Person có name, age, height thì lớp con Student có. Lớp con Student có universityName thì lớp cha Person không có.

Tận dụng từ khóa super để bảo trì và nâng cấp code

Từ khóa super mục tiêu chính truy vấn những phương pháp của lớp cha. Trong việc tăng trưởng ứng dụng, ta cần tăng cấp chương trình. Việc tận dụng từ khóa super sẽ giúp ta vừa tận dụng những dòng code trước đó và viết tiếp code mới .

Ví dụ: ta thấy phương thức getInfo() chỉ trả về thông tin name, age, height. Bây giờ, ta sẽ nâng cấp phương thức có thể trả về thông tin universityName ở lớp Student

public class Student extends Person {
	
	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);
	}
	
}

Ta thử khởi tạo để kiểm tra :

public class HelloWorld {

	public static void main(String[] args) {
		Student a = new Student("Chau", 21, 1.7f, "UTE");
		a.getInfo();
	}
}

Kế thừa trong lập trình hướng đối tượng

Flow của chương trình hoàn toàn có thể hiểu như sau :

Kế thừa trong lập trình hướng đối tượng

Kết

Như vậy tất cả chúng ta đã khám phá kế thừa trong lập trình hướng đối tượng người dùng

Ở bài sau, Kteam sẽ giới thiệu đến bạn về SETTER VÀ GETTER TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

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ó”.

Thảo luận

Nếu bạn có bất kể khó khăn vất vả hay vướng 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 và ĐÁP trên thư viện Howkteam. com để nhận được sự tương hỗ từ hội đồng .