الفئات Classes

وقت القراءة: 5 دقائق 788 مشاهدة

ما هو الـclass ؟

في لغة C++، الـclass هو نوع بيانات محدد من قبل المستخدم يقوم بتغليف البيانات والدوال التي تعمل على تلك البيانات. إنه بمثابة مخطط لإنشاء الـobjects، وهي خصائص للـclass. تخيل الـclass كقالب يحدد بنية الـobjects وسلوكها.

للإعلان عن class في C++، يمكنك استخدام الكلمة المفتاحية class.

بمجرد تعريف class، يمكنك إنشاء objects منه. الـobjects تمثل خصائص الـclass، ولكل منها مجموعة البيانات الخاصة بها.

في لغة C++، تدعم الـclasses الصفات التعريفية للوصول مثل public, private, وprotected. تتحكم هذه الصفات في إمكانية رؤية الـclass members وإمكانية الوصول إليهم.

مثال 1:

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

class car{
    private: 
        char name[15];
        char color[10];
        int maxSpeed;
        int model;
    public:
        void setName(char n[])
        {
            strcpy_s(name, n);
        }
        void setColor(char n[])
        {
            strcpy_s(color, n);
        }
        void setMaxSpeed(int m)
        {
            maxSpeed = m;
        }
        void setModel(int m)
        {
            model = m;
        }
        char* getName()
        {
            return name;
        }
        char* getColor()
        {
            return color;
        }
        int getMaxSpeed()
        {
            return maxSpeed;
        }
        int getModel()
        {
            return model;
        }
        void print()
        {
            cout << "name = " << name << "\n"
            << "color = " << color << "\n"
            << "maxspeed = " << maxSpeed << "\n"
            << "model = " << model << "\n";
        }
};
int main()
{
    car x;
    x.setName("kia");
    x.setColor("red");
    x.setMaxSpeed(300);
    x.setModel(2017);
    x.print();
    return 0;
}

يحدد كود C++ هذا class بسيط يسمى سيارة يمثل معلومات حول السيارة، مثل اسمها ولونها وسرعتها القصوى وطرازها. يقوم البرنامج بإنشاء خصائص لهذا الـclass، ويحدد سماته، ويطبع التفاصيل باستخدام دوال الأعضاء. دعونا نحلل الكود خطوة بخطوة:

  • تعريف الـclass المسمى بـcar
class car {
private: 
    char name[15];
    char color[10];
    int maxSpeed;
    int model;
public:
    // Member functions for setting attributes
    void setName(char n[]) { strcpy_s(name, n); }
    void setColor(char n[]) { strcpy_s(color, n); }
    void setMaxSpeed(int m) { maxSpeed = m; }
    void setModel(int m) { model = m; }

    // Member functions for retrieving attributes
    char* getName() { return name; }
    char* getColor() { return color; }
    int getMaxSpeed() { return maxSpeed; }
    int getModel() { return model; }

    // Member function to print details
    void print() {
        cout << "name = " << name << "\n"
             << "color = " << color << "\n"
             << "maxspeed = " << maxSpeed << "\n"
             << "model = " << model << "\n";
    }
};

- Private Members: يحتوي الـclass على متغيرات الـprivate member (الاسم واللون والحد الأقصى للسرعة والطراز)، والتي لا يمكن الوصول إليها إلا داخل الـclass.

- Public Members: يوفر الـclass دوال الـpublic member (setName، وsetColor، وsetMaxSpeed، وما إلى ذلك) لتعيين واسترجاع قيم هذه المتغيرات الخاصة.

  • الدالة الرئيسة main:
int main() {
    car x;

    // Setting attributes of the car
    x.setName("kia");
    x.setColor("red");
    x.setMaxSpeed(300);
    x.setModel(2017);

    // Printing the details using the print() member function
    x.print();

    return 0;
}

– إنشاء الكائن object: يتم إنشاء كائن x من نوع car.

- سمات الإعداد: يتم تعيين سمات السيارة (الاسم واللون والسرعة القصوى والطراز) باستخدام وظائف الأعضاء (setName وsetColor وsetMaxSpeed وsetModel).

– تفاصيل الطباعة: تتم طباعة تفاصيل السيارة باستخدام دالة عضو الطباعة التي تعرض قيم سمات السيارة.

مخرجات هذا البرنامج ستكون كالتالي:

name = kia
color = red
maxspeed = 300
model = 2017

يوضح هذا الاستخدام البسيط لـclass في لغة C++، والتي تتضمن البيانات والسلوك المتعلق بالسيارة. يوفر الـclass طرقًا لتعيين واسترجاع السمات، وتعزيز التغليف وإخفاء البيانات. هذا مفهوم أساسي في البرمجة كائنية التوجه.

مثال 2:

#include <iostream>
using namespace std;

class triangle{
    private: 
        float base;
        float height;
    public:
        void setBase_height(float b, float h)
        {
            base = b;
            height = h;
        }
        float area()
        {
            return 0.5 * base * height;
        }
        void print()
        {
            cout << "base = " << base << endl
            << "height = " << height << endl
            << "area = " << area() << endl;
        }
};
int main()
{
    triangle ob;
    ob.setBase_height(5, 10);
    ob.print();
    return 0;
}

يحدد هذا الرمز class يسمى triangle الذي يمثل مثلثًا. يحتوي الـclass على متغيرات أعضاء خاصة لقاعدة المثلث وارتفاعه، ويوفر دوال الأعضاء لإعداد هذه القيم وحساب المساحة وطباعة تفاصيل المثلث. دعونا نحلل الكود خطوة بخطوة:

  • تعريف الـclass المسمى بـtriangle:
class triangle {
private: 
    float base;
    float height;

public:
    // Member function to set base and height
    void setBase_height(float b, float h) {
        base = b;
        height = h;
    }

    // Member function to calculate the area of the triangle
    float area() {
        return 0.5 * base * height;
    }

    // Member function to print details of the triangle
    void print() {
        cout << "base = " << base << endl
             << "height = " << height << endl
             << "area = " << area() << endl;
    }
};

- Private Members: يحتوي الـclass على متغيرات الـprivate member (القاعدة والإرتفاع)، والتي لا يمكن الوصول إليها إلا داخل الـclass.

- Public Members: يوفر الـclass دوال public member (setBase_height, area, وprint) لتعيين القاعدة والارتفاع، وحساب المساحة، وطباعة تفاصيل المثلث.

  • الدالة الرئيسة main:
int main() {
    triangle ob;

    // Setting base and height of the triangle
    ob.setBase_height(5, 10);

    // Printing the details of the triangle
    ob.print();

    return 0;
}

- إنشاء الكائن Object : يتم إنشاء كائن ob من النوع triangle.

- ضبط القاعدة والارتفاع: يتم استدعاء دالة العضو setBase_height لتعيين القاعدة على 5 والارتفاع على 10 للمثلث.

- تفاصيل الطباعة: يتم استدعاء دالة عضو الطباعة لطباعة تفاصيل المثلث بما في ذلك القاعدة والارتفاع والمساحة المحسوبة.

مخرجات هذا البرنامج ستكون كالتالي:

base = 5
height = 10
area = 25

يوضح هذا الاستخدام الأساسي لـclass في لغة C++ لتمثيل البيانات المتعلقة بالمثلث ومعالجتها. يقوم الـclass بتغليف البيانات والسلوك المتعلق بالمثلث، مما يعزز التغليف ويجعل الكود أكثر تنظيماً وقابلية لإعادة الاستخدام. يقوم البرنامج بحساب وعرض مساحة المثلث باستخدام دوال الأعضاء المتوفرة.

مشاركة هذا

الفئات Classes

Or copy link

المحتوى
Arabic