Lớp và đối tượng
II. Lập trình hướng đối tượng trong Java:
A. Lớp và đối tượng:
-
Lớp trong Java:
- Trong Java, một lớp là một mô hình, mẫu hoặc bản thiết kế để tạo ra các đối tượng.
- Mỗi lớp đều có trường (fields) và phương thức (methods).
- Cú pháp khai báo lớp:
1 2 3 4
<phạm vi truy cập> class <tên lớp> { // Trường (biến) // Phương thức (hàm) }
- Ví dụ:
1 2 3 4 5 6 7 8 9 10
public class Car { // Trường (biến) String brand; int year; // Phương thức (hàm) void startEngine() { System.out.println("Engine started"); } }
-
Đối tượng trong Java:
- Một đối tượng là một thể hiện của một lớp.
- Khi một đối tượng được tạo, nó sẽ có trạng thái và hành vi, được xác định bởi các trường và phương thức của lớp.
- Cú pháp tạo đối tượng:
1
<tên lớp> <tên đối tượng> = new <tên lớp>();
- Ví dụ:
1
Car myCar = new Car();
-
Trường và Phương thức:
- Trường (fields): Đại diện cho các thuộc tính hoặc dữ liệu của một đối tượng. Mỗi đối tượng có một bản sao của các trường của lớp.
- Phương thức (methods): Đại diện cho hành vi hoặc các hàm mà đối tượng có thể thực hiện. Chúng có thể được sử dụng để thay đổi trạng thái của đối tượng hoặc trả về một giá trị.
-
Ví dụ:
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 26 27
public class Car { // Trường (biến) String brand; int year; // Phương thức (hàm) void startEngine() { System.out.println("Engine started"); } void drive(int distance) { System.out.println("Driving for " + distance + " kilometers"); } public static void main(String[] args) { // Tạo một đối tượng Car Car myCar = new Car(); // Gán giá trị cho các trường myCar.brand = "Toyota"; myCar.year = 2020; // Gọi phương thức myCar.startEngine(); myCar.drive(100); } }
Trong ví dụ này, chúng ta định nghĩa một lớp
Car
với các trườngbrand
vàyear
, cùng với hai phương thứcstartEngine()
vàdrive()
. Chúng ta tạo một đối tượngmyCar
từ lớpCar
, gán giá trị cho các trường và gọi các phương thức của đối tượng này. -
Tính kế thừa:
Kế thừa là một trong những tính năng quan trọng nhất của lập trình hướng đối tượng trong Java. Nó cho phép một lớp mới (gọi là lớp con) kế thừa các thuộc tính và phương thức của một lớp hiện có (gọi là lớp cha hoặc lớp cơ sở). Lớp con có thể sử dụng lại các tính năng của lớp cha, và cũng có thể mở rộng hoặc ghi đè (override) chúng để thêm hoặc thay đổi hành vi theo nhu cầu của mình.
Cú pháp kế thừa:
Trong Java, để kế thừa từ một lớp cha, chúng ta sử dụng từ khóa extends
.
|
|
Ví dụ:
|
|
Trong ví dụ này:
- Lớp
Animal
là lớp cha có một phương thứceat()
. - Lớp
Dog
là lớp con kế thừa từ lớpAnimal
và mở rộng chức năng bằng cách thêm một phương thức mớibark()
. - Trong phương thức
main()
, chúng ta tạo một đối tượngDog
và gọi cả hai phương thứceat()
vàbark()
. Phương thứceat()
được kế thừa từ lớp chaAnimal
, trong khibark()
là phương thức của lớp conDog
.
Kế thừa trong Java giúp tái sử dụng mã và giảm sự lặp lại, cũng như tăng tính linh hoạt và bảo trì trong quá trình phát triển ứng dụng.