Lí thuyết chuẩn: công nghệ đối tượng C++ (phần 2)

Member functions và classes

Hãy sử dụng ví dụ về chiếc xe để giới thiệu về một số khái niệm then chốt của lập trình hướng đối
tượng. Để thực hiện một nhiệm vụ trong một chương trình đòi hỏi một member function, cái chứa các
phát biểu của chương trình thực sự thực hiện nhiệm vụ đó. Member function này ẩn đi trước người sử
dụng chương trình những phát biểu của nó, cũng như chiếc bàn đạp của chiếc xe ẩn đi trước người lái
xe cơ chế để làm chiếc xe đi nhanh hơn.
Trong C++, chúng ta tạo ra các đơn vị của chương trình gọi là lớp (class) để lưu giữ một tập hợp các
member functions để thực hiện nhiệm vụ của lớp. Ví dụ, một class thể hiện một tài khoản ngân hàng
chứa một hàm thành viên để đặt tiền vào tài khoản, cái khác để rút tiền khỏi tài khoản và cái thứ ba
kiểm tra số dư tài khoản là bao nhiêu. Một class cũng giống như khái niệm về bản vẽ thiết kế của một
chiếc xe, cái lưu giữ thiết kế của bàn đạp xe, bánh xe..vv.

Instantiation (khởi tạo object)

Cũng như ai đó phải xây dựng một chiếc xe từ bản vẽ thiết kế của nó trước khi bạn thực sự lái nó, bạn
phải xây dựng một object của một class trước khi chương trình có thể thực hiện các nhiệm vụ mà các
hàm thành viên của class định nghĩa. Quá trình làm việc này gọi là instantiation (tạo object)
Một object được coi là một instance (trường hợp thực thể) của một class.

Sử dụng lại (reuse)

Cũng như bản thiết kế ô tô có thể được sử dụng lại nhiều lần để xây dựng nhiều chiếc xe, bạn có thể
sử dụng lại class nhiều lần để xây dựng nhiều objects. Sử dụng lại class giúp chương trình tiết kiệm
thời gian và công sức. Sử dụng lại class cũng giúp bạn xây dựng các hệ thống ổn định và hiệu suất hơn
vì các class hiện có và các thành phần của nó đã trải qua testing, debug và nâng cao hiệu quả mạnh mẽ.
Cũng như khái niệm về các bộ phận có thể trao đổi cho nhau là then chốt đối với cách mạng công nghiệp,
các class có thể sử dụng lại là then chốt đối với cách mạng phần mềm và được thúc đẩy bởi công nghệ
hướng đối tượng.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *