Lập trình hướng đối tượng oop là gì – Kiến thức tổng quan
Tính trừu tượng ( Abstraction)
Tập trung vào cốt lõi của đối tượng, bỏ qua những thứ không quan trọng và không liên quan.
Tính đa hình ( Polymorphism)
Tính đa hình cho phép các chức năng (method) khác nhau được thực thi trên các đối tượng khác nhau.
=> Trừu tượng, kế thừa, đa hình và đóng gói 4 tính chất oop mà những ai đang học và làm lập trình phải nắm chắc bởi chúng sẽ luôn đi kèm với các kỹ thuật khác trong lập trình.
Các tính chất lập trình hướng đối tượng PHP
Hướng đối tượng PHP cũng có 4 đặc điểm cơ bản đó là:
Tính đóng gói
Trong PHP việc đóng gói được thực hiện nhờ sử dụng các từ khóa public, private và protected:
public: Cho phép truy cập và làm thay đổi giá trị thuộc tính và phương trình ở mọi hành vi. Có thể hiểu là mang tính cộng đồng.
private: Cho phép truy cập hoặc thay đổi giá trị của thuộc tính và phương thức ở phạm vi của đối tượng. Có thể hiểu là mang tính gia đình.
protected: Chỉ cho phép truy cập hoặc thay đổi giá trị của thuộc tính và phương thức ở phạm vị của các đối tượng con. Mang tính dòng họ.
Tính kế thừa
Một lớp có thể được kế thừa từ một lớp khác. Việc kế thừa được thực hiện thông qua việc sử dụng từ khóa extends. Đối tượng thuộc lớp con sẽ có thuộc tính và phương thức protected và public của lớp mà nó kế thừa.
Tính trừu tượng
PHP có abstract class và interface để trừu tượng các đối tượng. Ví dụ như khi bạn tạo ra một lớp (class) dùng đại diện cho các tài khoản gửi tiền ngân hàng của các khách hàng và đặt tên cho lớp này là BankAccount. Lớp này có 2 thuộc tính đó là $balance và $interest dùng để lưu dữ liệu số tiền và lãi suất tiền gửi của tài khoản.
Tính đa hình
OOP PHP trong php tính đa hình thì:
Các lớp con có thể mở rộng hoặc viết lại phương thức của lớp cha mà nó kế thừa.
Các class và implement một interface nhưng chúng có cách thức thực hiện khác nhau cho các method của interface đó. Cùng một phương thức nhưng sẽ cho ra các kết quả khác nhau được gọi bởi các đối tượng thuộc lớp khác nhau.
Lập trình hướng đối tượng C++
C++ là ngôn ngữ lập trình đối tượng khá phổ biến và thường được giới thiệu đến các bạn sinh viên khi bắt đầu làm quen với phương pháp lập trình đối tượng. C++ oop được xếp vào nhóm lập trình bậc thấp, có khả năng xử lý nhanh do sự can thiệp cấp hệ thống. Điều này giúp cho hướng đối tượng C++ là sự lựa chọn số 1 cho các ứng dụng tốc độ như phần mềm nhúng, phần mềm hệ thống,….