Mục đích chính của lập trình C ++ là giới thiệu khái niệm hướng đối tượng đến ngôn ngữ lập trình C.
Lập trình hướng đối tượng là một mô hình cung cấp nhiều khái niệm như kế thừa, ràng buộc dữ liệu, đa hình, v.v ...
Mô hình lập trình nơi mọi thứ được biểu diễn như một đối tượng thực sự được gọi là ngôn ngữ lập trình hướng đối tượng. Smalltalk được coi là ngôn ngữ lập trình hướng đối tượng đầu tiên.
Nội dung chính
OOP (Hệ thống lập trình hướng đối tượng)
Đối tượng (Object) có nghĩa là một thực thể từ thực tế như bút, ghế, bảng vv. Lập trình hướng đối tượng là một phương pháp hoặc mô hình để thiết kế một chương trình bằng cách sử dụng các lớp và các đối tượng. Nó đơn giản hóa việc phát triển và bảo trì phần mềm bằng cách cung cấp một số khái niệm:
- Đối tượng (Object)
- Lớp (Class)
- Kế thừa (Inheritance)
- Đa hình (Polymorphism)
- Trừu tượng (Abstraction)
- Đóng gói (Encapsulation)
Đối tượng (Object)
Bất kỳ thực thể nào có trạng thái và hành vi được gọi là một đối tượng. Ví dụ: ghế, bút, bàn, bàn phím, xe đạp, vv Nó có thể là vật lý và hợp lý.
Lớp (Class)
Bộ sưu tập các đối tượng được gọi là lớp. Nó là một thực thể logic.
Kế thừa (Inheritance)
Khi một đối tượng được nhượng lại tất cả các thuộc tính và hành vi của đối tượng cha được gọi là thừa kế. Kế thừa cung cấp khả năng sử dụng lại mã. Nó được sử dụng để đạt được tính đa hình tại run-time.
Đa hình (Polymorphism)
Khi một nhiệm vụ được thực hiện bằng nhiều cách khác nhau tức là được gọi là đa hình. Ví dụ: để thuyết phục khách hàng bằng các cách khác nhau, để vẽ một cái gì đó ví dụ như hình dạng hoặc hình chữ nhật, v.v.
Trong C++, chúng ta sử dụng hàm overload và hàm overriding để đạt được đa hình.
Trừu tượng (Abstraction)
Ẩn chi tiết nội bộ và chỉ hiển thị chức năng được gọi là trừu tượng. Ví dụ: cuộc gọi điện thoại, chúng ta không biết xử lý nội bộ.
Đóng gói (Encapsulation)
Ràng buộc (hoặc gói) mã và dữ liệu với nhau thành một đơn vị duy nhất được gọi là đóng gói. Ví dụ: viên nang, nó được bọc với các loại thuốc khác nhau.
Lợi thế của lập trình hướng đối tượng so với hướng thủ tục
- OOP làm cho việc phát triển và bảo trì phần mềm dễ dàng hơn như trong ngôn ngữ lập trình hướng thủ tục.
- OOP cung cấp dữ liệu ẩn trong khi trong ngôn ngữ lập trình hướng thủ tục một dữ liệu toàn cầu có thể được truy cập từ bất cứ nơi nào.
- OOP cung cấp khả năng mô phỏng sự kiện trong thế giới thực hiệu quả hơn. Chúng ta có thể cung cấp giải pháp cho vấn đề thực tế.