Trong phần này, chúng ta sẽ thảo luận về khái niệm C ++ OOPs và các tính năng của chúng,
Giới thiệu oops trong C ++
C ++ là phiên bản cập nhật duy nhất của ngôn ngữ C như chúng ta biết, nhưng tại sao C ++ lại cần thiết khi ngôn ngữ C đã có sẵn. Sự khác biệt chính giữa C và C ++ là của OOP.
C là ngôn ngữ POP (Lập trình hướng thủ tục) trong khi C ++ là ngôn ngữ lập trình hướng đối tượng. Tuy nhiên, C ++ hỗ trợ cả OOP và POP trong khi C chỉ hỗ trợ POP.
Khi các tính năng của OOP được thêm vào C, nó được đặt tên là C ++. Trước khi lập trình trong OOP, chúng ta hãy tìm hiểu về POP và OOP để bạn biết lý do tại sao một ngôn ngữ mới, C ++, bị thiếu.
Lập trình hướng thủ tục (POP)
Ngôn ngữ POP là một tập hợp các hàm hoặc tập hợp các hàm. Trong ngôn ngữ lập trình dựa trên loại kỹ thuật này, một chương trình được chia thành nhiều chức năng. Các hàm này chứa các câu lệnh cho một hoạt động.
Nhưng khi số lượng chức năng trong một chương trình bắt đầu tăng hoặc kích thước của chương trình tăng lên, trong tình huống như vậy, không dễ để quản lý một mã lớn như vậy và do đó chức năng được khai báo trong chương trình truy cập dữ liệu toàn cầu. Nhưng với số lượng lớn như vậy, nơi các chức năng đang truy cập cùng một dữ liệu, thì các vấn đề như mất dữ liệu hoặc luồng dữ liệu bắt đầu xảy ra và do đó chương trình không cho kết quả phù hợp. Nói cách khác, chúng ta có thể nói rằng có lỗi hoặc lỗi trong chương trình.
Không dễ để gỡ lỗi một chương trình lớn như vậy, được chia thành nhiều chức năng. Chúng ta phải xác định từng hàm, đó là một quá trình phức tạp. C, pascal, cobol là những ví dụ về ngôn ngữ thuộc loại POP.
Lập trình hướng đối tượng (OOPs)
Nói một cách đơn giản, OOP là tập hợp các đối tượng. Trong đó chương trình được chia thành các đối tượng trong đó đối tượng là một tập hợp các thành viên chức năng dữ liệu – thành viên cùng nhau có liên quan logic với nhau như một tập hợp, được gọi là lớp. Do đó, chúng ta có thể nói rằng một lớp là một tính năng quan trọng của OOP.
Hãy hiểu nó một cách chi tiết –
Cũng giống như ngôn ngữ dựa trên POPs là một tập hợp các hàm, oops là tập hợp ngôn ngữ của đối tượng, trong đó chương trình được chia thành đối tượng để thực hiện vấn đề hoặc tác vụ trong thế giới thực.
Như đã nêu, có một tập hợp các thành viên dữ liệu đối tượng và thành viên hàm được gọi là lớp, các thành viên này không thể được truy cập từ bên ngoài hoặc từ bất kỳ chức năng bên ngoài nào. Theo một cách nào đó, dữ liệu vẫn an toàn và vì chỉ các đối tượng cùng lớp mới có thể truy cập các chức năng này, xác suất luồng dữ liệu cũng giảm.
Đồng thời cung cấp cơ sở để tái sử dụng các thành viên trong lớp trong OOP. Ngôn ngữ C ++, Java, Smalltalk hỗ trợ lập trình OOPs. Bởi vì C ++ hỗ trợ cả POP và OOP, nó không phải là ngôn ngữ OOPs thuần túy.
C ++ hỗ trợ cả pop và oop, có nghĩa là bạn có thể lập trình nó bằng cả pop và oop. Tất cả các chương trình được đưa ra cho đến nay trong hướng dẫn này là ví dụ về lập trình pop.
Trước khi bắt đầu rất tiếc, chúng ta sẽ thảo luận về các tính năng khác của OOP.
Các tính năng này là:
lớp trong C ++
Lớp là một kiểu dữ liệu do người dùng xác định. Các tính năng quan trọng nhất của lớp oops cũng giống như các tính năng khác của oops được triển khai.
Một lớp là một tập hợp các thành viên dữ liệu và thành viên hàm, có thể có cả kiểu dữ liệu (int, float, char) và các kiểu dữ liệu dẫn xuất (mảng, hàm). Trong đó các thành viên có liên quan logic với nhau. Các thành viên dữ liệu này chỉ có thể được truy cập bởi các thành viên hàm của lớp này. Đó là, dữ liệu không thể được truy cập từ bên ngoài lớp. Theo một cách nào đó, bảo mật dữ liệu đạt được.
Cú pháp của một lớp sẽ như sau:
class class-name
{
data-member;
function-member;
};
Trong đó class-name là một định danh tức là bất kỳ tên do người dùng xác định nào (ngoại trừ từ khóa dành riêng)
Sử dụng cú pháp này của lớp, chúng ta có thể tạo một lớp, nhưng không thể thực hiện nó, điều đó có nghĩa là nếu chúng ta tạo một lớp với cú pháp này trong tâm trí, sẽ không có lỗi thời gian chạy trong đó, nhưng không có đầu ra Cả hai sẽ đến.
Vì vậy, lớp có một số chỉ định truy cập. Sử dụng mà chúng ta thực hiện một lớp. Vì vậy, cú pháp mới sẽ như sau –
class class_name
{
private: //access specifier
data member;
function member;
public: // access specifier
data member;
function member;
};
Chúng tôi sẽ đọc thêm về lớp học hơn nữa.
Khi chúng ta sử dụng một lớp trong chương trình, chúng ta nhận được các tính năng khác của OOP như đóng gói, trừu tượng hóa dữ liệu, đóng gói dữ liệu.
Hãy thảo luận về chúng,
đối tượng trong C ++
Cũng giống như trong thế giới thực, một đối tượng có thuộc tính hoặc hành vi riêng của nó, tương tự như trong OOP, thuộc tính của một đối tượng, thành viên chức năng của lớp đó và hành vi là thành viên dữ liệu của lớp đó.
Đối tượng là một tập hợp các thành viên dữ liệu và các thành viên hàm có liên quan với nhau trong lớp. Trong đó chứa các câu lệnh để thực hiện một nhiệm vụ.
Khi chúng ta đang lập trình xem xét OOP, mã được viết để giải quyết vấn đề được truy cập từ đối tượng của lớp đó.
Thông tin thêm về đối tượng được đưa ra trong lớp và đối tượng
gửi tin nhắn trong C ++
Trong đó, các đối tượng giao tiếp với nhau bằng cách gửi một thông điệp, khi một đối tượng nhận được một thông điệp, đối tượng gọi hàm của chính nó và thực hiện chức năng của lớp nơi nó được khai báo.
Đóng gói dữ liệu trong C ++
Buộc thành viên dữ liệu và thành viên hàm với nhau trong một lớp được gọi là đóng gói dữ liệu-
Như các bạn thấy đây là cú pháp của một class, điều này có nghĩa là chúng ta có được tính năng đóng gói dữ liệu tự động ngay khi class được triển khai.
Trừu tượng hóa dữ liệu trong C ++
Trừu tượng hóa dữ liệu được thực hiện từ chính việc đóng gói dữ liệu. Trừu tượng chỉ cho người dùng cuối thấy thông tin anh ta cần và việc triển khai ẩn.
chẳng hạn–
Để thực hiện cuộc gọi từ điện thoại di động, chúng tôi phải nhập số liên lạc nhưng nó không hiển thị cho chúng tôi cách điện thoại di động thực hiện cuộc gọi này.
Bởi vì một lớp cung cấp một tính năng như trừu tượng, một lớp còn được gọi là kiểu dữ liệu trừu tượng (ADT).
Kế thừa C ++
Tính năng này có mã cho OOP để tạo điều kiện cho khả năng sử dụng lại. Trong đó, chúng ta thêm các thuộc tính hoặc hành vi của một lớp vào một lớp khác. Theo cách này, một lớp đã có một số thuộc tính và hành vi riêng của nó nhưng đồng thời thuộc tính và hành vi của một lớp khác cũng xuất hiện trong đó, mà không sửa đổi bất kỳ lớp nào. Thông tin thêm về thừa kế và các loại của nó được đưa ra.
Đa hình trong C ++
Trong tiếng Hy Lạp. Poly có nghĩa là – rất nhiều và hình thái có nghĩa là – các loại có nghĩa là tên là một tác phẩm nhiều.
Hãy để chúng tôi hiểu điều này với một ví dụ –
Trong thế giới thực, bách khoa đại diện cho nhiều khóa học-
Trong oops tương tự, giao diện bên ngoài của bất kỳ đối tượng hoặc chức năng nào là như nhau nhưng thuộc tính và hành vi của chúng (giao diện bên trong) khác nhau. Tài sản và hành vi có nghĩa là chúng chứa các tuyên bố cho các nhiệm vụ khác nhau. Ví dụ
Giống như chúng ta đã khai báo 3 hàm trong một chương trình và tất cả các tên hàm đều giống nhau nhưng số lượng tham số trong mỗi hàm nhiều hơn hoặc ít hơn hoặc các loại tham số khác nhau được khai báo. Điều này sẽ được gọi là quá tải chức năng.
Trong C ++, tính đa hình được chia thành hai phần-
Previous – lưu trữ specifiers trong C++
Next – class và object trong C++