Lập trình hướng đối tượng (OOP) là gì? Cấu trúc của OOP

1. Khái niệm của lập trình hướng đối tượng

Lập trình hướng đối tượng (OOP – Object Oriented Programming) là một phương pháp lập trình phổ biến trong ngành công nghiệp phần mềm hiện nay. Với lập trình hướng đối tượng, một chương trình được xem như một tập hợp các đối tượng tương tác với nhau để thực hiện các nhiệm vụ cụ thể. Điều này khác với lập trình hướng thủ tục, trong đó chương trình được xem như một tập hợp các hàm tương tác với nhau.

Lập trình hướng đối tượng (OOP)

2. Cấu trúc của OOP

CLASS

Trong lập trình hướng đối tượng, đối tượng được tạo ra từ các lớp (class), là một mô tả cho một loại đối tượng cụ thể, gồm các thuộc tính và phương thức (hay còn gọi là các hành động) được định nghĩa trong đó.

Ví dụ, nếu bạn muốn tạo một ứng dụng quản lý khách hàng, bạn có thể tạo một class “Customer” (khách hàng) để mô tả các đối tượng khách hàng trong ứng dụng của bạn. Trong class “Customer”, bạn có thể định nghĩa các thuộc tính như tên, địa chỉ, số điện thoại, email, v.v. Và bạn có thể định nghĩa các phương thức để thêm, sửa, xóa khách hàng trong ứng dụng của bạn.

Một class là một mô hình chung cho các đối tượng cùng loại, nó định nghĩa các đặc tính chung cho nhóm đối tượng đó. Khi tạo đối tượng từ một class, đối tượng sẽ kế thừa các đặc tính được định nghĩa trong class, cũng như có thể có các thuộc tính và phương thức đặc biệt của nó.

 

OBJECT

Đối tượng (object) là một thực thể có thể được khởi tạo từ một class. Đối tượng chứa dữ liệu và phương thức được định nghĩa trong class, và được sử dụng để thực hiện các hành động trên dữ liệu đó.

Khi một đối tượng được khởi tạo, nó được cấp phát bộ nhớ trong máy tính để lưu trữ các giá trị dữ liệu của nó. Mỗi đối tượng có một trạng thái riêng biệt và có thể thực hiện các hành động riêng biệt.

Ví dụ, nếu bạn có một class “SinhVien” với các thuộc tính như “ten”, “tuoi”, và “diemTB”, bạn có thể tạo ra nhiều đối tượng “SinhVien” với các giá trị khác nhau cho các thuộc tính này. Ví dụ:

Trong ví dụ trên, chúng ta đã tạo hai đối tượng “SinhVien” với các giá trị khác nhau cho các thuộc tính “ten”, “tuoi”, và “diemTB”. Đối tượng “sv1” có tên là “Nguyen Van A”, tuổi là 20, và điểm trung bình là 8.5, trong khi đối tượng “sv2” có tên là “Tran Thi B”, tuổi là 21, và điểm trung bình là 9.0.

 

ATTRIBUTE

Thuộc tính (attribute) là đặc tính của một đối tượng trong lập trình hướng đối tượng. Nó là một giá trị được liên kết với một đối tượng hoặc một class và có thể được truy cập hoặc thay đổi trong quá trình chạy của chương trình.

Trong một class, bạn có thể định nghĩa các thuộc tính để mô tả các đặc điểm của đối tượng mà class đại diện cho. Ví dụ, trong class “SinhVien”, bạn có thể định nghĩa các thuộc tính như “hoTen”, “maSinhVien”, “ngaySinh”, “diemTrungBinh”, v.v.

Khi tạo một đối tượng từ class “SinhVien”, bạn có thể gán giá trị cho các thuộc tính của đối tượng này. Ví dụ:

Trong ví dụ trên, các thuộc tính “hoTen”, “maSinhVien”, “ngaySinh”, “diemTrungBinh” của đối tượng “sv1” được gán giá trị tương ứng.

METHOD

Phương thức (method) là một khối mã thực thi một số hành động trên đối tượng. Nó tương tự như một hàm trong các ngôn ngữ lập trình khác, nhưng phương thức được liên kết với một đối tượng cụ thể. Các phương thức có thể được gọi để thực hiện một số hoạt động trên đối tượng đó, hoặc để trả về một giá trị.

Trong một class, bạn có thể định nghĩa các phương thức để thực hiện các hành động trên đối tượng của class đó. Ví dụ, trong class “SinhVien”, bạn có thể định nghĩa các phương thức như “nhapThongTin()”, “tinhDiemTrungBinh()”, “inThongTin()”, v.v.

Khi gọi một phương thức, bạn cần phải chỉ định đối tượng mà phương thức sẽ thực hiện trên đó. Ví dụ:

Trong ví dụ trên, các phương thức “nhapThongTin()”, “tinhDiemTrungBinh()”, và “inThongTin()” được gọi trên đối tượng “sv1”. Phương thức “nhapThongTin()” được sử dụng để nhập thông tin cho đối tượng “sv1”, phương thức “tinhDiemTrungBinh()” được sử dụng để tính điểm trung bình của đối tượng “sv1”, và phương thức “inThongTin()” được sử dụng để in thông tin của đối tượng “sv1” ra màn hình.

 

Ngoài ra trong OOP còn tuân theo các quy tắc hoạt động như: Kế thừa (inheritance), đa hình (polymorphism), tính trừu tượng (abstraction) và đóng gói (encapsulation) nhưng sẽ được giải thích tiếp trong bài viết sau hoặc có thể tham gia học ngay lớp lập trình hướng đối tượng:

__________________________________________________________________________________________________

Project Manager, nghề với mức lương khủng

Sự khác biệt giữa front-end và back-end

Code và đồ hoạ trong lập trình game