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

Giới thiệu về công nghệ đối tượng

Xây dựng phần mềm nhanh, chính xác và tiết kiệm là mục tiêu hàng đầu khi nhu cầu về phần mềm mới
và mạnh mẽ tăng cao. Objects hay chính xác hơn Classes objects là thành phần chương trình có thể sử
dụng lại. Có object ngày, object thời gian, object nghe nhìn, object ô tô, object con người. Bất cứ
danh từ nào để thể hiện đối tượng phần mềm về mặt thuộc tính (attributes) (e.g tên, màu sắc, kích cỡ)
hành vi (behaviours) (e.g tính toán, di chuyển và trao đổi thông tin).
Các nhà phát triển phần mềm khám phá ra rằng cách tiếp cận thiết kế và thực hiện phần mềm hướng đối tượng
và mô đun hóa có thể làm cho các công ty phát triển phần mềm trở nên năng suất hơn các kĩ thuật trước
đó như lập trình như lập trình cấu trúc – lập trình hướng đối tượng dễ hiểu, chính xác và dễ điều chỉnh hơn.

Ô tô như một object

Để bạn hiểu đối tượng và nội dung của nó, hãy bắt đầu bằng một hình tượng đơn giản. Giả sử bạn muốn
lái một chiếc xe và muốn tăng tốc bằng cách ấn bàn đạp. Cái gì xảy ra trước khi bạn làm điều này. Well, trước
khi bạn lái chiếc xe, có ai đó đã thiết kế nó. Một chiếc xe điển hình là bắt đầu bằng một bản vẽ thiết
kế, tương tự như bản vẽ blueprint cái mô tả một ngôi nhà. Bản vẽ này cũng thiết kế cho cái bàn đạp
tốc độ. Người lái xe không biết cơ cấu của cái bàn đạp, là một cơ chế phức tạp giúp xe đi nhanh hơn,
cũng như không biết cơ cấu chiếc phanh làm xe chậm lại, hay cấu trúc chiếc bánh để chuyển hướng ô
tô. Cái này giúp cho những người không hoặc có ít hiểu biết về cơ chế động cơ, phanh và chuyển hướng vẫn
lái xe dễ dàng hơn.
Bạn không thể nấu ăn bằng bản thiết kế nhà bếp, cũng như lái xe bằng một bản thiết kế xe. Trước khi, bạn
lái một chiếc xe, nó phải được xây dựng, lắp ráp từ bản thiết kế mô tả nó. Mỗi chiếc xe hoàn chỉnh có
bàn đạp thực sự để làm chiếc xe nhanh hơn – nhưng như vậy vẫn chưa đủ, chiếc xe không thể tự tăng tốc, người
lái xe phải nhấn bàn đạp để tăng tốc chiếc xe.

Chia sẻ

Leave a Reply

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