Posted in

Ngày 1: Tính kế thừa (Inheritance) trong Java.

Ngày 1: Tính kế thừa (Inheritance) trong Java.

Tính kế thừa là một trong bốn tính chất cơ bản của lập trình hướng đối tượng (OOP). Trong Java, chúng ta có thể tạo một lớp mới từ một lớp hiện có (lớp cơ sở), kế thừa các thuộc tính và phương thức của lớp cơ sở.

Ví dụ:
“`java
class Vehicle {
int maxSpeed;
String color;

void display() {
System.out.println(“Max speed: ” + maxSpeed + “, color: ” + color);
}
}

class Car extends Vehicle {
int numberOfSeats;
}

public class Main {
public static void main(String[] args) {
Car car = new Car();
car.maxSpeed = 200;
car.color = “Red”;
car.numberOfSeats = 5;
car.display();
}
}
“`
Trong ví dụ này, lớp Car kế thừa lớp Vehicle. Có thể thấy rằng, chúng ta có thể truy cập thuộc tính và phương thức của lớp cơ sở từ lớp được kế thừa.

Đối số đặc biệt, trong Java, chỉ có thể kế thừa từ một lớp. Nếu bạn muốn sử dụng tính năng của nhiều lớp, bạn cần phải sử dụng tính đa hình (Polymorphism) và các giao tiếp (Interfaces).

Câu hỏi ôn tập:

1. Làm thế nào để một lớp kế thừa từ một lớp khác trong Java?

– Sử dụng từ khóa `extends`.
2. Java hỗ trợ kế thừa đa dạng (multiple inheritance) không?

– Không, Java không hỗ trợ các vùng chứa đa ngôn ngữ.
3. Nếu có một lớp `A` kế thừa lớp `B` và lớp `B` kế thừa lớp `C`. Lớp `A` có thể truy cập trực tiếp các thuộc tính và phương thức của lớp `C` không?

– Có, nếu các thuộc tính và phương thức của lớp `C` không được khai báo là `private`.
4. Có thể kế thừa từ một lớp đã được đánh dấu final không?

– Không, các lớp được đánh dấu là `final` không thể kế thừa.
5. Có thể ghi đè (override) các phương thức của lớp cơ sở trong lớp con không?

– Có, nếu phương thức của lớp cơ sở không được đánh dấu là `final`.

Leave a Reply

Your email address will not be published. Required fields are marked *