Tổng quan về OOP
Những khái niệm cơ bản nhất về OOP
Những khái niệm cơ bản nhất về OOP
OOP (Object Oriented Programing - lập trình hướng đối tượng) là một mô hình lập trình khá phổ biến hiện nay. OOP được sử dụng rất nhiều trong các dự án, phần mềm lớn và nhỏ. Hầu hết các ngôn ngữ lập trình hiện nay đều hỗ trợ OOP.
OOP được xây dựng dựa trên hai khái niệm cơ bản là class và object. OOP trừu tượng hóa những đoạn mã, những câu lệnh, hàm, dữ liệu thành các lớp. Mỗi lớp đại diện cho một loại đối tượng. Ví dụ như lớp TCat đại diện cho loài mèo, TCar đại diện cho các xe hơi, ...
Dựa trên các lớp, chúng ta tạo ra các đối tượng. Mọi thao tác được thực hiện trên đối tượng này. Đối tượng có thể có thông tin (ví dụ Xe thì có các thông tin: số bánh xe, chủ sở hữu, ...) và các mã lệnh dưới dạng hàm, thủ tục (ví dụ Dog thì có: ăn, uống, sủa, chạy, ...)
OOP có 4 tính chất:
Tính đóng gói (encapsulation): Những dữ liệu của đối tượng được che giấu, bảo vệ khỏi sự truy cập không được phép bên ngoài. Điều này được thực hiện nhờ các mức truy cập (access modifier). Nhờ đó, thông tin riêng tư trong lớp được bảo mật an toàn.
Tính kế thừa (inheritance): Một lớp có thể thừa hưởng mọi thứ từ lớp có sẵn, đồng thời có thể thêm các thông tin và phương thức mới mà không cần viết lại mã, đó là tính thừa kế (inheritance).
Tính trừu tượng (abstraction): Tính trừu tượng cho phép bỏ qua cách mã hoạt động mà chỉ tập trung vào việc sử dụng. Nói cách khác, người dùng lớp không cần biết lớp hoạt động như thế nào, mà chỉ cần biết cách sử dụng là đủ.
Tính đa hình (polymorphism): Một lớp có thể biến hóa thành các lớp con. Với override và overload, một lớp có thể thực hiện nhiều chức năng khác nhau. Nó giống như người đại diện vậy, tôi đại diện cho người A làm công việc 1, đại diện cho người B làm việc 2, ... Không cần thiết là A hay B, tôi vẫn có thể làm việc của họ. Nó có vẻ giống như giả danh vậy đó :D
OOP có 3 ưu điểm chính:
Tính tái sử dụng / Khả năng mở rộng cao: Nhờ tính kế thừa, một lớp có thể mở rộng nhanh chóng mà không cần viết lại mã, loại bỏ trùng lặp và hạn chế lỗi tối đa. Nếu có thay đổi ở một lớp, thì chỉ có lớp đó chỉnh sửa, các lớp khác không bị ảnh hưởng
Tính bảo mật cao: Những thông tin được che giấu bởi OOP sẽ không bị lộ lọt ra bên ngoài, tăng độ bảo mật thông tin.
Dễ hiểu: OOP được xây dựng như thế giới thực tế với mọi đối tượng, vì thế phù hợp với cách suy nghĩ của con người. Viết mã sẽ nhanh, dễ dàng hơn và dễ đọc, dễ hiểu, dễ bảo trì.