Giới thiệu về lập trình hướng đối tượng

Giới thiệu về lập trình hướng đối tượng với C++


  • Có thể hiểu đơn giản lập tình hướng đối tượng (OOP – Object-Oriented
    Programming) là cách lập trình mà ta xem xét vấn đề, hướng giải quyết dựa trên
    sự tương tác giữa các đối tượng. Ta nhìn nhận mọi thứ dưới cái nhìn của đối
    tượng. Các đối tượng sẽ tương tác với nhau thông qua các message.
  • Thế giới thực và OOP trong sự tương quan:
No. Thế giới thực OOP
1 Vậy đối tượng trong thực tế là gì. Một đối tượng trong thực tế đơn giản là một thứ gì đó cụ thể (ví dụ: một cái bàn A, một cái bàn B, một chiếc xe C, chiếc xe D, người tên là E,…) và một đối tượng trong thực tế sẽ thường có 2 thứ đó là những gì là đặc trưng, tính chất mà đối tượng đó sở hữu (các thuộc tính) và các hành vi (hành động) mà đối tượng đó có thể thực hiện (ví dụ:người tên E sở hữu – tên E, tóc đen, mắt đen, 2 tay, 2 chân,… – có thể thực hiện hành vi – đi, đứng, ngồi, nằm, …). Trong thế giới thực, giữa các đối tượng sẽ tương tác với nhau, phối hợp, ảnh hưởng nhau. Tương tự như thế giới thực, trong lập trình hướng đối tượng, mọi vấn đề luôn nhìn dưới góc cạnh là sự tương tác, liên hệ giữa các đối tượng. Và một đối tượng của OOP cũng có 2 thứ là thuộc tính (tính chất, đặc tính mà chúng sở hữu) và phương thức (hành vi mà đối tượng thực hiện).
2 Và ta thấy, trong thế giới thực sẽ có nhiều đối tượng mà các các loại thuộc tính và hành vi giống nhau (ví dụ: có một người tên E, một người tên C, một người tên D – họ là những đối tượng khác nhau nhưng họ đều có nhóm thuộc tính như nhau là họ đều có mắt, tóc, tay, chân,… có các hành vi là đi, đứng, chạy, nhảy,…), và ta gọi tập hợp nhưng đối tượng đó là một nhóm, loài, chủng loại,… Các đối tượng chung một loại thì chúng có giống nhau về thành phần (hay là có chung một khung) nhưng chúng sẽ khác nhau về đặc tính cụ thể cho từng thành phần (ví dụ: người E và người D đều có tóc nhưng người E tóc ngắn, màu đen nhưng người thì tóc dài, màu vàng,…). một khái niệm tương đương với loại, loài trong thực tế là Class. Class thực chất là một dạng khuôn mẫu (template) chứa cấu trúc (gồm thuộc tính và hành vi) của các đối tượng cùng loại. Class mô tả các đối tượng trong cùng một loại sẽ gồm những thuộc tính gì, các phương thức gì.
3 Ta thấy, trong thực tế giữa các nhóm (loài, loại) có một số mối liên hệ với nhau như sau: Quan hệ 1 – Nhóm A là trường hợp đặc biệt của nhóm B (A có các đặc điểm nhận dạng của B + A có thêm một số điểm riêng biệt cho mình) – Ví dụ: Nhóm sinh viên cũng là nhóm người có đầy đủ tính chất, hành vi của nhóm người như nhóm A có thêm tính chất là đang đi học trong môi trường giáo dục nào đó (trong môi trường đó họ được gọi là sinh viên). Quan hệ 1 – còn gọi là sự chuyên biệt hóa (is_a). Quan hệ 2 – Nhóm A có chứa nhóm B (ví dụ – nhóm xe hơi có chứa 4 bánh xe hay chứa 4 đối tượng của nhóm bánh xe). Quan hệ 2 – còn gọi là quan hệ chứa (has_a). Và trong OOP, cũng có 2 loại quan hệ như thế giới thực. Quan hệ 1 trong OOP được thể hiện qua khái niệm kế thừa (inheritance). Quan hệ 2 trong OOP được thể hiện qua quan hệ tập hợp (composition).
  • Phía trên là khát quát những điều cơ bản về lập trong hướng đối tượng. Các
    topic tiếp theo chúng ta sẽ lần lượt đi chi tiết vào từng cái được thể hiện
    trong C++:

    • Class trong C++ (Khai báo, tầm truy cập, hàm tạo hàm hủy)
    • Liên quan đến hàm và toán tử (nạp chồng hàm – function overloading, nạp chồng toán tử – operator overloading):
    • Kế thừa và đa thừa (sử dụng tính chất của kế thừa)

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s

Tạo một website miễn phí hoặc 1 blog với WordPress.com.

Up ↑

%d bloggers like this: