Java Tính kế thừa
Java Inheritance
Java Inheritance (Kế thừa trong Java) là một khái niệm quan trọng trong lập trình hướng đối tượng (OOP), cho phép một lớp (class) thừa hưởng các thuộc tính và phương thức của một lớp khác. Điều này giúp tái sử dụng mã nguồn, tăng tính linh hoạt và mở rộng của ứng dụng.
Khái niệm kế thừa trong Java
Kế thừa là quá trình mà một lớp (được gọi là lớp con hoặc lớp dẫn xuất) kế thừa các thuộc tính và phương thức từ một lớp khác (được gọi là lớp cha hoặc lớp cơ sở). Lớp con có thể sử dụng và mở rộng các thành phần của lớp cha mà không cần phải viết lại mã nguồn.
Cú pháp cơ bản
class ParentClass {
// Các thuộc tính và phương thức của lớp cha
}
class ChildClass extends ParentClass {
// Các thuộc tính và phương thức của lớp con
}Ví dụ minh họa
// Lớp cha
class Animal {
void eat() {
System.out.println("Animal is eating");
}
}
// Lớp con
class Dog extends Animal {
void bark() {
System.out.println("Dog is barking");
}
}
public class InheritanceExample {
public static void main(String[] args) {
Dog d = new Dog();
d.eat(); // Gọi phương thức của lớp cha
d.bark(); // Gọi phương thức của lớp con
}
}Trong ví dụ trên, lớp Dog kế thừa từ lớp Animal, vì vậy nó có thể sử dụng phương thức eat() của lớp cha.
Từ khóa super
superTừ khóa super được sử dụng để gọi trực tiếp các phương thức và thuộc tính của lớp cha từ lớp con.
Cú pháp super
superVí dụ minh họa
Kế thừa nhiều cấp (Multilevel Inheritance)
Kế thừa nhiều cấp xảy ra khi một lớp con kế thừa từ một lớp con khác, tức là có nhiều cấp kế thừa.
Ví dụ minh họa
Ghi đè phương thức (Method Overriding)
Ghi đè phương thức cho phép một lớp con cung cấp cách triển khai cụ thể cho một phương thức đã được định nghĩa trong lớp cha.
Cú pháp ghi đè phương thức
Ví dụ minh họa
Từ khóa final
finalTừ khóa final trong Java có thể được sử dụng để khai báo biến, phương thức và lớp với các ý nghĩa khác nhau:
final với biến
final với biếnMột biến được khai báo là final không thể thay đổi giá trị sau khi đã được gán.
final với phương thức
final với phương thứcMột phương thức được khai báo là final không thể bị ghi đè bởi các lớp con.
final với lớp
final với lớpMột lớp được khai báo là final không thể được kế thừa.
Ví dụ minh họa
Trong ví dụ này, lớp Constants và biến PI được khai báo là final, nghĩa là giá trị của PI không thể thay đổi và lớp Constants không thể được kế thừa.
Bài tập thực hành
Bài tập 1: Kế thừa cơ bản
Tạo hai lớp Vehicle và Car. Lớp Vehicle có thuộc tính color và phương thức move(). Lớp Car kế thừa từ lớp Vehicle và thêm phương thức turnOnLights().
Bài tập 2: Ghi đè phương thức
Tạo hai lớp Shape và Circle. Lớp Shape có phương thức calculateArea(). Lớp Circle kế thừa từ lớp Shape và ghi đè phương thức calculateArea() để tính diện tích hình tròn.
Bài tập 3: Kế thừa nhiều cấp
Tạo ba lớp Employee, AdministrativeEmployee, và TechnicalEmployee. Lớp Employee có phương thức work(). Lớp AdministrativeEmployee kế thừa từ Employee và thêm phương thức attendMeeting(). Lớp TechnicalEmployee kế thừa từ AdministrativeEmployee và thêm phương thức repairMachine().
Qua các bài tập trên, hy vọng các bạn đã hiểu rõ hơn về khái niệm kế thừa trong Java, cách sử dụng các từ khóa và các phương thức liên quan. Hãy tiếp tục thực hành
để nâng cao kỹ năng lập trình của mình.
Last updated