Ý tưởng của lập trình hướng vật thể là gom nhiều hàm và dữ liệu vào trong một đơn vị gọi là vật thể
Dựa vào công thức: Algorithms + Data Structure = Programs, ta có hiểu đơn giản: Data Structure ở đây là dữ liệu (chính xác hơn thì là cấu trúc dữ liệu) và Algorithms là hàm (chính xác hơn là giải thuật). Các thành phần trên góp phần tạo nên chương trình, tuy nhiên lại khó để quản lý khi mà chương trình càng ngày càng lớn, càng khó để mô hình hoá, để quản lý hơn. Từ góc độ này, chúng ta có Data ở một nơi và Function ở một nơi, thì nảy sinh ra ý tưởng: “Tại sao không gom data & function lại thành 1 nhỉ?” Ý tưởng cơ bản của OOP nằm ở việc gom nhiều data và function liên quan tới nhau (nghĩa là thực hiện việc thay đổi trên data) chung với nhau thành một đơn vị gọi là object. Và việc mô hình hoá cũng dễ dàng hơn khi chúng ta liên tưởng các object tới những thứ cụ thể ở cuộc sống thực tế.
Chương trình = Cấu trúc dữ liệu + thuật toán
Các vật thể tương tác với nhau qua phương thức và không trực tiếp làm thay đổi giá trị của nhau
Nguồn:: OOP Implementation