Objects, Classes

Object-oriented Programming

1 kiểu lập trình xoay quanh ObjectsClasses, xuyên suốt những khía cạnh về OOP, chúng ta chỉ cần tập trung vào 2 thuật ngữ này là coi như hiểu được đại khái rồi. Vậy cụ thể chúng là gì?

Objects

Đúng như tên gọi của nó thôi, 1 object, nhiều objects ... Để dễ hiểu thì ta chỉ cần tưởng tượng mọi thứ xung quanh ta đều là objects:

1 cái cốc -> object

1 cái bàn -> object

1 con mèo -> object

...

1 cái nút bấm trên web -> object

1 ML model -> object

1 data model -> object etc...

Objects có muôn vàn muôn vẻ, vậy thứ gì sẽ định hình objects? Câu trả lời chính là Classes

Classes

Tuy rằng objects muôn hình vạn trạng, giữa các objects vẫn có nhiều khuôn mẫu chung nhất định, chẳng hạn như mèo ta - mèo tây, nút đăng nhập - nút đăng xuất. Ngoài ra còn có các trường hợp nhiều objects y hệt nhau, như các buttons group thường thấy trong các trang web hay app. Trong 1 sản phẩm, ta cũng có thể xác định được rất nhiều object như thế, vậy nên, Classes ra đời nhằm nhóm các objects lại với nhau, giúp cho cấu trúc sản phẩm trở nên mạch lạc, đỡ bị loạn hơn.

Có thể nói Classes trong góc nhìn lập trình đóng vai trò như blueprints, bản vẽ cho objects, ta có thể định nghĩa các thuộc tính, tính chất, phương thức cho objects thông qua classes.

Nói khái quát thế là đc rồi ,bây giờ, ta sẽ đi vào chi tiết về Class. Thông thường, ta sẽ chia Class làm 3 phần chính, và mọi ngôn ngữ lập trình hướng đối tượng đều viết theo 3 phần này:

Về Name:

Về Fields (state):

Ví dụ 1 quả bóng ta có thể xác đinh fields như: + Thể tích + Khối lượng + Hình dáng + Màu

Về Methods (behavior):

Ví dụ thường thấy ở các giáo trình hoặc sách là mèo, chó thì có các method như:

  • gaugau()

  • meomeo()

Tổng kết lại, class sẽ có dạng giống như sau hình sau:

Class illustration
Class illustration