أساسيات البرمجة سي شارب -ماهي الفئات الكلاسات او الكلاس والفئة What is C# Object and Class
أساسيات البرمجة سي شارب -ماهي الفئات الكلاسات او الكلاس والفئة What is C# Object and Class
مقدمة
كما نعلم ، C # هي لغة برمجة كائنية نقية توفر القدرة على إعادة استخدام الكود الموجود. لإعادة استخدام الكود C # الحالي ، يوفر أنواعًا مختلفة من المفاهيم الموجهة للكائنات لإكمال المتطلبات الواقعية لعمل معين.
الآن في هذه المقالة نتعرف على نظرة عامة على الفئات التي تشكل جزءًا من مفاهيم البرمجة الشيئية C #
ما هي الفئة:-
الفئات هي نواة البرمجة الهدفية الموجهة بالكائنات فعليها يتم تطبيق مباديء البرمجة الكائية او الشيئية من وراثة وكبسلة والواجهات الى اخره من مبادي البرمجة الموجهة بالكائنات.فالفئة هي نسخة كربونية لنوع بيانات ذات المرجع فهي تحتوي على المتغيرات والخصائص والدوال والاحداث والمشيدات والمهدمات. تعرف جميعا بأعضاء الفئة أي مكونات الفئة يمكن ان تحتوي على واحد أو أكثر من هذه الاعضاء شاهد الصورة لتعرف أعضاء الفئة.
الفئات هي أنواع البيانات التي يحددها المستخدم والتي تمثل حالة الكائن وسلوكه. تمثل الحالة الخصائص والسلوك هو الإجراء الذي يمكن أن تؤديه الكائنات.
يمكن الإعلان عن الفئات باستخدام محددات الوصول التالية التي تحد من إمكانية وصول الفئات إلى فئات أخرى ، إلا أن بعض الفئات لا تتطلب أي معدلات وصول او محددات.
- Public عامة
- Private نشر
- Protected محمي
- Internal داخلي
- Protected internal الداخلية المحمية
تبدأ تعريف الفئة بالكلمة المحجوزة Class.
حيث
- specifier هو محدد الوصول تم شرحه في درس الكبسلة.
- حيث type هو نوع البيانات تم شرحه مسبقا.
- حيث parameter list هو قائمة الوسطاء وهي المتغيرات التي تمرر من خلال الدالة تم شرحها مسبقا.
بعض النقاط الرئيسية حول الفئات في سي شارب c#
- الفئات هي أنواع ذات المراجع التي تحتوي على الكائن الذي تم إنشاؤه ديناميكيًا في الكومة heap.
- جميع الفئات لها نوع أساسي من System.Object.
- معدل او محدد الوصول الافتراضي للفئة هو داخلي Internal .
- معدل الوصول الافتراضي للدوال والمتغيرات هو خاص private .
- لا يُسمح بإعلان عن الفئات الخاصة داخل مساحات الأسماء مباشرة.
ما هي أنواع الفئات في سي شارب c#
- الفئات المجردة Abstract class
- الفئات الجزئية Partial Classes
- الفئات المختومة Sealed Class
- الفئات الثابتة Static Class
ما هي الفئة المجردة What is Abstract class
فئة Abstract هي فئة توفر تعريفًا شائعًا للفئات الفرعية وهذا هو نوع الفئة التي لم يتم إنشاء كائنها.
بعض النقاط الرئيسية للفئات المجردة هي:
- يتم الإعلان عن الفئات المجردة باستخدام الكلمة الأساسية abstract .
- لا يمكننا إنشاء كائن من فئة مجردة.
- إذا كنت ترغب في استخدامه ، فيجب أن يتم توريثه في فئة فرعية.
- تحتوي فئة Abstract على كل من الدوال المجردة وغير المجردة.
- يمكن أن يكون للدوالك الموجودة داخل الفئة المجردة تنفيذ أو لا يوجد تنفيذ.
- يمكننا أن نرث فئتين مجردين ؛ في هذه الحالة يكون تنفيذ دالة الفئة الأساسي اختياريًا.
- تحتوي فئة Abstract على فئة فرعية واحدة فقط.
- لا يمكن أن تكون الدوال الموجودة داخل فئة المجردةمن نوع خاصةprivate .
- إذا كان هناك دالك واحدة على الأقل مجردة في الفئة ، فيجب أن يكون الفئة مجردة.
فمثلا:
ماهي الفئات الجزئية what is partial class
إنه نوع من الفئات يسمح بتقسيم خصائصها ودولها وأحداثها إلى ملفات مصدر متعددة وفي وقت التجميع يتم دمج هذه الملفات في فئة واحدة. مثل برمجة مواقع الويب بلغة سي شارب حيث يتم تقسيم الفئة الي فئة جزئية خاصة بالتصميم واخرى فئة جزئية خاصة بالكود البرمجي. طبعا يمكنك أن تقسم الفئة الي عدة فئات تحمل نفس الاسم ولكن من نوع جزئية
فيما يلي بعض النقاط الرئيسية:
- يجب أن تسبق كل أجزاء الفئة الجزئي بالكلمة الأساسية partial .
- إذا قمت بإغلاق جزء معين من فئة جزئي ، فسيتم ختم الفئة بأكمله ، كما هو الحال بالنسبة للفئات المجرد.
- لا يمكن تطبيق الميراث على الفئات الجزئية.
- يتم دمج الفئات المكتوبة في ملفي فئة معًا في وقت التشغيل.
فمثلا:
ماهي الفئة المختومة what is the sealed class
الفئة المختومة هي فئة لا يمكن توريثها واستخدامها لتقييد الخصائص.
فيما يلي بعض النقاط الرئيسية:
- يتم إنشاء فئة مختومة باستخدام الكلمة الأساسية sealed
- لا يتم تطبيق معدلات الوصول على فئة مختومة.
- للوصول إلى الأعضاء المختومين ، يجب علينا إنشاء كائن من الفئة.
ماهي الفئة الثابتة what is static calss
إنه نوع الفئة التي لا يمكن إنشاء مثيل لها ، في كلمات أخرى لا يمكننا إنشاء كائن من تلك الفئة باستخدام الكلمة الأساسية الجديدة new ، بحيث يمكن استدعاء أعضاء الفئة مباشرة باستخدام اسم الخاص الخاص بهم.
فيما يلي بعض النقاط الرئيسية:
- تم إنشاؤها باستخدام الكلمة الأساسية الثابتة static .
- داخل فئة ثابتة ، يُسمح فقط بالأعضاء الثابتة ، بمعنى آخر يجب أن يكون كل شيء داخل الفئة الثابتة ثابتًا.
- لا يمكننا إنشاء كائن من فئة ثابتة.
- لا يمكن توريث فئة Static.
- يسمح فقط بالإعلان عن المُنشئ الثابت.
- يمكن استدعاء دول الفئة الثابتة باستخدام اسم الفئة دون إنشاء مثيل.
تعرفنا بصورة سريعة عن الفئات او الكلاسات في سي شارب وانواع الفئات وشرحنا بصورة مبسطة عن كل كلاس قي c# الان سنتحدث عن الكائن في سي شارب.
ما هو الكائن سي شارب what is the object c#?
في C # ، الكائن هو كيان حقيقي ، على سبيل المثال ، كرسي ، سيارة ، قلم ، هاتف محمول ، كمبيوتر محمول ، إلخ.
بمعنى آخر ، الكائن هو كيان له حالة وسلوك. هنا ، تعني الحالة البيانات والسلوك يعني الوظيفة.
الكائن هو كيان وقت التشغيل ، يتم إنشاؤه في وقت التشغيل. بمعنى هو تجسيد للفئة في الذاكرة.
الكائن هو مثيل لفئة. يمكن الوصول إلى جميع أعضاء الفئة من خلال الكائن.
دعونا نرى مثالاً لإنشاء كائن باستخدام كلمة رئيسية جديدة new .
في هذا المثال ، الطالب هو النوع و s1 هو المتغير المرجعي الذي يشير إلى مثيل فئة الطالب. الكلمة الأساسية الجديدة تخصص الذاكرة في وقت التشغيل.
للحصول على فهم أفضل للفئة والأشياء ، دعنا نلقي نظرة على مثال أدناه لكيفية تعريف الفئات.
سوف نكتب فئة عن برنامج تعليمي مثل دليل برمجة جافا فهذا اسم البرنامج ويحتوي على مقالات
اسم الفئة هو "Tutorial". الفئة لديها الخصائص التالية
Tutorial ID - سيتم استخدامه لتخزين رقم فريد يمثل البرنامج التعليمي.
Tutorial Name - سيُستخدم لتخزين اسم البرنامج التعليمي كسلسلة.
نتكون الفئات أيضًا من الدوال. الفئة لديها الدوال التالية ،
- SetTutorial - ستستخدم هذه الدالك لتعيين معرف واسم البرنامج التعليمي. على سبيل المثال ، إذا أردنا إنشاء برنامج تعليمي لـ .Net ، فقد نقوم بإنشاء كائن لهذا. سيكون للكائن معرف لنفترض 1. ثانيًا ، سنقوم بتعيين اسم "NET. " كاسم البرنامج التعليمي. سيتم تخزين قيمة المعرف 1 واسم ".Net" كخاصية للكائن.
- GetTutorial - سيتم استخدام هذه الدالة للحصول على تفاصيل برنامج تعليمي معين. لذلك إذا أردنا الحصول على اسم البرنامج التعليمي ، فإن هذه الطريقة ستعيد السلسلة ".Net".
ملاحظ دائما يقصد ب Set اي التعيين ونقصد بها أي الكتابة أ و التخزن والحفظ. أما get فهي الحصول ونقصد في القراءة والعرض اي اظهار البيانات.
الصورة هي لشكل ومكونات الفئة التي سوف نشرحها بالتفصيل الكامل كي تفهم تعريف وتكوين الكلاس في سي شارب. يوجد أدناه صورة عن الشكل الذي يبدو عليه الكائن في فئة Tutorial . لدينا 3 كائنات ، كل منها له TutorialID و TutorialName الخاص بهما.
الصورة تختصر الان في البرمجة التقليدية دون استخدام البرمجة الشيئية او ذات كائنية التوجه كنا نكتب الكود ثلاث مرات تخيل لو لديك الآلاف البرامج التعليمية سيلزمك كتابة الكود الآلاف المرات فهنا فقط نكتب فيها فئة تجمع خصائص الكائن وهو البرنامج التعليمي ثم نشيئ مثيل او كائن منها كلما كان لدينا برنامج تعليمي هذا للتوضيح. كيفية إنشاء فئة وكائن
دعنا الآن نتعمق في Visual Studio لإنشاء الفئة. سنقوم بالبناء على تطبيق وحدة التحكم الموجود لدينا والذي تم إنشاؤه في . سننشئ فئة في Visual Studio لتطبيقنا الحالي.
دعنا نتبع الخطوات المذكورة أدناه للحصول على هذا المثال في مكانه الصحيح.
الخطوة 1) تتضمن الخطوة الأولى إنشاء فئة جديدة ضمن تطبيقنا الحالي. يتم ذلك بمساعدة Visual Studio.
الخطوة الأولى رقم 1 في الصورة.. هي النقر بزر الماوس الأيمن على الحل solution، وهو في حالتنا "DemoApplication". سيؤدي هذا إلى إظهار قائمة السياق بقائمة من الخيارات.
رقم 2 في الصورة من قائمة السياق context menu حدد الخيار Add-> Class. سيوفر هذا خيار إضافة فئة إلى المشروع الحالي.
الخطوة 2) الخطوة التالية هي توفير اسم للفئة وإضافته إلى حلنا Solution .
رقم 1 في الصورة. في مربع حوار المشروع ، نحتاج أولاً إلى توفير اسم للفئة. دعونا نةتب اسم Tutorial.cs للفئة. لاحظ أن اسم الملف يجب أن ينتهي بـ .cs لضمان معاملته كملف فئة مناسب. Cs هو اختصار لي سي شارب.
رقم 2 في الصورة. عندما نضغط على الزر "إضافة add" ، ستتم إضافة الفئة إلى الحل الذي نقدمه.
إذا تم اتباع الخطوات المذكورة أعلاه ، فستحصل على الإخراج أدناه في Visual Studio.
كما نرى الفئة Tutorial. Csأضيفت الي مستعرض الحل في مشروعنا ستتم إضافة فئة تسمى Tutorial.cs إلى الحل. إذا قمت بفتح الملف ، فستجد الكود التالي مضافًا إلى ملف الفئة.
شرح الكود: -
رقم 1 في الصورة. يحتوي الجزء الأول على الوحدات النمطية الإلزامية التي يضيفها Visual Studio إلى أي ملف صافي. هذه الوحدات مطلوبة دائمًا لضمان تشغيل أي برنامج .Net في بيئة Windows.
رقم 2 في الصورة. الجزء الثاني هو الفئة التي تمت إضافتها إلى الملف. اسم الفئة هو "تعليمي Tutorial " في حالتنا. هذا هو الاسم الذي تم تحديده مع الفئة تمت إضافته إلى الحل.
في الوقت الحالي ، ملف الفئة لدينا لا يفعل أي شيء. في المواضيع التالية ، سننظر في مزيد من التفاصيل حول كيفية العمل مع الفئة.
الحقول والدوال Fields and methods
لقد رأينا بالفعل كيف يتم تحديد الحقول والدوال في الفئات في الموضوع السابق.
بالنسبة لفئة Tutorial ، يمكننا الحصول على الخصائص التالية.
Tutorial ID- سيتم استخدامه لتخزين رقم فريد يمثل البرنامج التعليمي.
Tutorial Name- سيُستخدم لتخزين اسم البرنامج التعليمي كسلسلة.
يمكن أن يحتوي فئة tutorial أيضًا على الدوال المذكورة أدناه.
SetTutorial - ستستخدم هذه الدالة لتعيين معرف واسم البرنامج التعليمي.
GetTutorial - سيتم استخدام هذه الدالة للحصول على تفاصيل برنامج تعليمي معين.
دعنا الآن نرى كيف يمكننا دمج الحقول الدوال في التعليمات البرمجية الخاصة بنا.
الخطوة 1) الخطوة الأولى هي التأكد من أن فئة البرنامج التعليمي يحتوي على الحقول الدوال الصحيحة المحددة. في هذه الخطوة ، نضيف الكود أدناه إلى ملف Tutorial.cs.
شرح الكود: -
رقم 1 في الصورة. تتمثل الخطوة الأولى في إضافة حقلي TutorialID و TutorialName إلى ملف الفئة . نظرًا لأن حقل TutorialID سيكون رقمًا ، فإننا نحدده كعدد صحيح ، بينما سيتم تعريف TutorialName كسلسلة نصية. الحقول هنا هي متغيرات.
رقم 2 في الصورة. ،نحدد الدالة SetTutorial. تقبل هذه الدالة معلمتين او وسيطتين . لذلك إذا استدعت Program.cs الدالة SetTutorial ، فستحتاج إلى توفير القيم لهذه المعلمات. سيتم استخدام هذه القيم لتعيين حقول كائن Tutorial .
ملاحظة: لنأخذ مثالاً ونفترض أن ملف Program.cs الخاص بنا يستدعي SetTutorial مع المعلمات "1" و ".Net". نتيجة لذلك ، سيتم تنفيذ الخطوات التالية ،
ستصبح قيمة pID 1
ستكون قيمة pName. Net.
في الدالة SetTutorial ، سيتم بعد ذلك تمرير هذه القيم إلى TutorialID و TutorialName.
حتى الآن TutorialID سيكون له قيمة 1 و TutorialName سيكون له قيمة "Net".
رقم 3 في الصورة. هنا قمنا بتعيين حقول فئة Tutorial وهي رقم 2 في الصورة على المعلمات على التوالي. . و لذلك قمنا بتعيين TutorialID على pID و TutorialName على Pname.
رقم 4 في الصورة. نحدد الدالة GetTutorial لإرجاع قيمة من النوع "String". سيتم استخدام هذه الدالة لإعادة TutorialName إلى برنامج الاستدعاء. وبالمثل ، يمكنك أيضًا الحصول على TutorialID باستخدام الدالة Int GetTutorial
رقم 5 في الصورة. هنا نعيد قيمة حقل TutorialName إلى البرنامج المتصل.
الخطوة 2) الآن دعنا نضيف الكود إلى Program.cs ، وهو تطبيق Console الخاص بنا. سيتم استخدام تطبيق Console لإنشاء كائن من "فئة البرنامج التعليمي" واستدعاء الدالة SetTutorial و GetTutorial وفقًا لذلك. تطبيق console هي واجهة الأوامر الكتابية مثل الدوس DoS.
(ملاحظة: - الكائن هو مثيل لفئة في أي وقت محدد. الفرق بين فئة وكائن هو أن الكائن يحتوي على قيم للخصائص.)
شرح الكود: -
الخطوة الأولى هي إنشاء كائن لفئة Tutorial . ضع علامة هنا على أنه يتم ذلك باستخدام الكلمة الأساسية "جديد new". يتم استخدام الكلمة الأساسية "new" لإنشاء كائن من فئة في C #. ثم يتم تعيين الكائن إلى متغير pTutor.
ثم يتم استدعاء دالة SetTutorial. يتم تمرير معلمات 1 و ".Net" إلى دالة SetTutorial. سيتم استخدامها بعد ذلك لتعيين حقلي "TutorialID" و "TutorialName" لفئة.
ثم نستخدم الدالة GetTutorial الخاصة بفئة Tutorial للحصول على TutorialName. يتم عرض هذا بعد ذلك على وحدة التحكم عبر دالة Console.WriteLine.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تشغيل البرنامج ، فسيتم عرض الإخراج التالي.
من الإخراج ، يمكنك أن ترى بوضوح أن النص ".Net" تم إرجاعها بواسطة الدالة GetTutorial.
ملخص
الفئة عبارة عن تغليف لخصائص البيانات ودوالها. يتم استخدام الخصائص لتحديد نوع البيانات في الفئة . تحدد الدوال العمليات التي يمكن إجراؤها على البيانات.
مثال اخر على الفئة في سي شارب c#
طباعة مخرجات الكود السابق.
الاعضاء الفئة الدوال والكبسلة.
الدالة التي داخل الفئة هي كود أولي في الفئة مثل اي متغير يقوم بإجراء اي عمليات على الكائن.
الخصائص هي متغيرات للكائن ولكن لايمكن الوصول اليها مباشرة بل عن طريقة خاصية get للقراءة أو set للكتابة للمتغير الخاص .
الخصائص هي متغيرات للكائن ولكن لايمكن الوصول اليها مباشرة بل عن طريقة خاصية get للقراءة أو set للكتابة للمتغير الخاص .
مثال:-
الناتج الكود:-
Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
SEO experience,PHP,C#,ASPX
التسميات: csharp-basic
<< الصفحة الرئيسية