Computer >> Máy Tính >  >> Lập trình >> C ++

Các khái niệm cơ bản về lập trình hướng đối tượng sử dụng C ++

Lập trình hướng đối tượng là một kiểu lập trình sử dụng các đối tượng và các lớp hoạt động của nó. Lập trình hướng đối tượng dựa trên các thực thể trong thế giới thực như kế thừa, đa hình, ẩn dữ liệu, v.v. Nó nhằm mục đích liên kết dữ liệu với nhau và chức năng hoạt động trên các tập dữ liệu này thành một thực thể duy nhất để hạn chế việc sử dụng chúng.

Một số khái niệm cơ bản của lập trình hướng đối tượng là -

  • LỚP HỌC
  • ĐỐI TƯỢNG
  • CÁCH NHIỆT
  • POLYMORPHISM
  • HẠN CHẾ
  • TÓM TẮT

Lớp - Một lớp là một kiểu dữ liệu có các thành viên riêng của nó, tức là các thành viên dữ liệu và các hàm thành viên. Nó là bản thiết kế cho một đối tượng trong ngôn ngữ lập trình hướng đối tượng. Nó là khối xây dựng cơ bản của lập trình hướng đối tượng trong c ++. Các thành viên của một lớp được truy cập bằng ngôn ngữ lập trình bằng cách tạo một phiên bản của lớp.

Một số thuộc tính quan trọng của lớp là -

  • Lớp là kiểu dữ liệu do người dùng xác định.

  • Một lớp chứa các thành viên như thành viên dữ liệu và các hàm thành viên.

  • Thành viên dữ liệu là các biến của lớp.

  • Chức năng thành viên là các phương thức được sử dụng để thao tác các thành viên dữ liệu.

  • Các thành viên dữ liệu xác định các thuộc tính của lớp trong khi các hàm thành viên xác định hành vi của lớp.

Một lớp có thể có nhiều đối tượng có các thuộc tính và hành vi chung cho tất cả chúng.

Cú pháp

class class_name {
   data_type data_name;
   return_type method_name(parameters);
}

Đối tượng - Một đối tượng là một thể hiện của một lớp. Nó là một thực thể có các đặc điểm và hành vi được sử dụng trong lập trình hướng đối tượng. Đối tượng là thực thể được tạo ra để cấp phát bộ nhớ. Một lớp khi được định nghĩa không có bản thân đoạn bộ nhớ mà sẽ được cấp phát ngay sau khi các đối tượng được tạo.

Cú pháp

class_name object_name;

Ví dụ

#include<iostream>
using namespace std;
class calculator {
   int number1;
   int number2;
   char symbol;
   public :
   void add() {
      cout<<"The sum is "<<number1 + number2 ;
   }
   void subtract() {
      cout<<"The subtraction is "<<number1 - number2 ;
   }
   void multiply() {
      cout<<"The multiplication is "<<number1 * number2 ;
   }
   void divide() {
      cout<<"The division is "<<number1 / number2 ;
   }
   calculator (int a , int b , char sym) {
      number1 = a;
      number2 = b;
      symbol = sym;
      switch(symbol){
         case '+' : add();
            break;
         case '-' : add();
            break;
         case '*' : add();
            break;
         case '/' : add();
            break;
         default : cout<<"Wrong operator";
      }
   }
};
int main() {
   calculator c1(12 , 34 , '+');
}

Đầu ra

The sum is 46

Đóng gói Trong lập trình hướng đối tượng, đóng gói là khái niệm gói dữ liệu và thông tin lại với nhau trong một đơn vị duy nhất. Định nghĩa về quy mô của đóng gói sẽ là:đóng gói là ràng buộc để tập hợp dữ liệu và chức năng liên quan có thể thao tác dữ liệu.

Hãy hiểu chủ đề bằng một ví dụ thực tế dễ hiểu,

Trong các trường đại học của chúng tôi, chúng tôi có các khoa cho mỗi khóa học như khoa học máy tính, công nghệ thông tin. , điện tử, v.v ... mỗi khoa này có sinh viên và các môn học riêng được theo dõi và giảng dạy. chúng ta hãy nghĩ về mỗi khoa như một lớp học chứa dữ liệu về sinh viên của khoa đó và các môn học sẽ được giảng dạy. Ngoài ra, một bộ phận có một số quy tắc và hướng dẫn cố định mà sinh viên khóa học phải tuân theo như thời gian, phương pháp sử dụng trong khi học, v.v. Đây là sự đóng gói trong cuộc sống thực, có dữ liệu và có nhiều cách để thao tác dữ liệu.

Do khái niệm đóng gói trong lập trình hướng đối tượng có thể có một khái niệm rất quan trọng khác, đó là trừu tượng hóa dữ liệu hoặc Ẩn dữ liệu. có thể vì việc đóng gói sẽ ẩn dữ liệu chỉ hiển thị thông tin được yêu cầu hiển thị.

Tính đa hình Tên xác định tính đa hình là nhiều dạng. có nghĩa là tính đa hình là khả năng của lập trình hướng đối tượng để thực hiện một số công việc bằng cách sử dụng nhiều hình thức. Hành vi của phương thức phụ thuộc vào kiểu hoặc tình huống mà phương thức được gọi.

Hãy lấy một ví dụ thực tế trong cuộc sống, một người có thể có nhiều hơn một hành vi tùy thuộc vào tình huống. như một người phụ nữ, một người mẹ, một người quản lý và một cô con gái Và điều này xác định hành vi của cô ấy. Đây là nơi xuất phát khái niệm đa hình.

Trong ngôn ngữ lập trình c ++, tính đa hình đạt được bằng hai cách. Chúng là quá tải toán tử và quá tải hàm.

Quá tải toán tử Trong việc nạp chồng toán tử và toán tử có thể có nhiều hành vi trong các trường hợp sử dụng khác nhau.

Quá tải hàm Các hàm có cùng tên có thể thực hiện nhiều loại dựa trên một số điều kiện.

Kế thừa nó là khả năng của một lớp để kế thừa hoặc dẫn xuất các thuộc tính hoặc đặc điểm của lớp khác. nó rất quan trọng và là chương trình hướng đối tượng vì nó cho phép khả năng tái sử dụng, tức là sử dụng một phương thức được định nghĩa trong một lớp khác bằng cách sử dụng kế thừa. Lớp dẫn xuất các thuộc tính từ lớp khác được gọi là lớp con hoặc lớp con và lớp mà các thuộc tính được kế thừa là lớp cơ sở hoặc lớp cha.

Ngôn ngữ lập trình C plus plus hỗ trợ các kiểu kế thừa sau đây

  • kế thừa duy nhất
  • đa kế thừa
  • kế thừa nhiều cấp
  • Kế thừa phân cấp
  • kế thừa lai

Tóm tắt Trừu tượng hóa dữ liệu hay Ẩn dữ liệu là khái niệm ẩn dữ liệu và chỉ hiển thị dữ liệu có liên quan cho người dùng cuối cùng. Nó cũng là một phần quan trọng của lập trình hướng đối tượng.

Chúng ta hãy lấy ví dụ thực tế để hiểu rõ hơn về khái niệm, khi chúng ta đi xe đạp chúng ta chỉ biết rằng nhấn phanh sẽ dừng xe và xoay bướm ga sẽ tăng tốc nhưng bạn không biết nó hoạt động như thế nào và nó cũng không nghĩ rằng chúng ta nên biết đó là lý do tại sao điều này được thực hiện giống như một khái niệm trừu tượng hóa dữ liệu.

Trong ngôn ngữ lập trình C plus plus, hãy viết hai cách sử dụng mà chúng ta có thể thực hiện việc trừu tượng hóa dữ liệu -

  • sử dụng lớp học
  • sử dụng tệp tiêu đề