الوراثة: إعادة استخدام التعليمات البرمجية
أعد استخدام التعليمات البرمجية الموجودة ووسّعها باستخدام الوراثة في C#
الوراثة: إعادة استخدام التعليمات البرمجية درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 6 من أصل 7. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 7 دروس في المجموع.
مقدمة إلى الوراثة
الوراثة: إعادة استخدام التعليمات البرمجية
مرحبًا بكم في الدرس التالي! ستتعلمون في هذا الدرس الوراثة، وهي أحد المبادئ الأساسية للبرمجة كائنية التوجه، وكيف تتيح لكم إعادة استخدام التعليمات البرمجية وبناء التسلسلات الهرمية. لنبدأ!

ما الوراثة؟
ما الوراثة؟
تتيح الوراثة لفئة واحدة (تُسمى الفئة الفرعية أو الفئة المشتقة) اكتساب سمات وأساليب فئة أخرى (تُسمى الفئة الأصل أو الفئة الأساسية). وهي تتيح إعادة استخدام التعليمات البرمجية وإنشاء علاقات هرمية بين الفئات.
مثال: يمكن أن تكون فئة "Car" فئة أساسية للفئتين "ElectricCar" و"SportsCar"، مع مشاركة خصائص شائعة مثل "Color" و"Speed".
تعريف فئة أساسية
تعريف فئة أساسية
تحتوي الفئة الأساسية على خصائص وأساليب مشتركة يمكن للفئات المشتقة توريثها. مثال:
نقطة أساسية: عرّفوا التعليمات البرمجية القابلة لإعادة الاستخدام في الفئة الأساسية.
using System;
class Vehicle {
public string Color;
public void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
إنشاء فئة مشتقة
إنشاء فئة مشتقة
ترث الفئة المشتقة خصائص الفئة الأساسية وأساليبها. استخدم الرمز : للإشارة إلى الوراثة. مثال:
نقطة أساسية: يمكن للفئات المشتقة إضافة ميزات جديدة أو تجاوز وظائف الفئة الأساسية.
using System;
class Vehicle {
public string Color;
public void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
class Car : Vehicle {
public int NumberOfDoors;
public void ShowDetails() {
Console.WriteLine("Color: " + Color);
Console.WriteLine("Doors: " + NumberOfDoors);
}
}
class Program {
static void Main() {
Car myCar = new Car();
myCar.Color = "Red"; // Inherited from Vehicle
myCar.NumberOfDoors = 4;
myCar.Drive(); // Inherited from Vehicle
myCar.ShowDetails();
}
}
تجاوز الأساليب
تجاوز الأساليب
يمكن للفئات المشتقة تجاوز الأساليب الموجودة في الفئة الأساسية لتوفير سلوك مخصص. استخدم الكلمة الأساسية virtual في الفئة الأساسية، والكلمة الأساسية override في الفئة المشتقة. مثال:
تلميح: يفيد التجاوز في تخصيص السلوك داخل الفئات المشتقة.
using System;
class Vehicle {
public virtual void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
class SportsCar : Vehicle {
public override void Drive() {
Console.WriteLine("The sports car is driving fast!");
}
}
class Program {
static void Main() {
SportsCar myCar = new SportsCar();
myCar.Drive(); // Calls the overridden method
}
}
الكلمة الأساسية base
الكلمة الأساسية base
تُستخدم الكلمة الأساسية base للوصول إلى أعضاء الفئة الأساسية من داخل فئة مشتقة. مثال:
تلميح: استخدم base لتوسيع سلوك الفئة الأساسية أو استكماله.
using System;
class Vehicle {
public string Color;
public virtual void Drive() {
Console.WriteLine("The vehicle is driving.");
}
}
class Truck : Vehicle {
public override void Drive() {
base.Drive(); // Calls the base class method
Console.WriteLine("The truck is carrying a heavy load.");
}
}
class Program {
static void Main() {
Truck myTruck = new Truck();
myTruck.Color = "Blue";
myTruck.Drive();
}
}
تحدٍّ تطبيقي
تحدٍّ تطبيقي
أنشئ فئة أساسية باسم Animal تحتوي على أسلوب باسم Speak() يطبع العبارة «يُصدر الحيوان صوتًا.» وأنشئ فئتين مشتقتين هما Dog وCat تعيدان تعريف Speak() لطباعة العبارتين «ينبح الكلب.» و«تموء القطة.» على التوالي. مثال:
using System;
class Animal {
public virtual void Speak() {
Console.WriteLine("The animal makes a sound.");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("The dog barks.");
}
}
class Cat : Animal {
public override void Speak() {
Console.WriteLine("The cat meows.");
}
}
class Program {
static void Main() {
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.Speak();
myCat.Speak();
}
}
أفضل الممارسات للوراثة
أفضل الممارسات للوراثة
إليك بعض أفضل الممارسات:
- استخدم الوراثة فقط عند وجود علاقة واضحة من نوع «هو» (مثلًا، «Car» هو «Vehicle»).
- اجعل الفئات الأساسية عامة قدر الإمكان.
- استخدم
sealedلمنع المزيد من الوراثة عند الحاجة.
تلميح: ينبغي أن تُبسّط الوراثة قاعدة الشيفرة، لا أن تجعلها أكثر تعقيدًا.
أحسنتم!
أحسنتم!
تهانينا! لقد تعلمتم كيفية استخدام الوراثة لإعادة استخدام الشيفرة وبناء تسلسلات هرمية للفئات في C#. في الدرس التالي، سنتعمق في تعدد الأشكال، وهو مفهوم قوي آخر من مفاهيم البرمجة كائنية التوجه. واصلوا البرمجة!

الأسئلة الشائعة
هل درس «الوراثة: إعادة استخدام التعليمات البرمجية» مجاني؟
نعم — نص درس «الوراثة: إعادة استخدام التعليمات البرمجية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 7 دروس في المجموع.
ماذا ستتعلم في «الوراثة: إعادة استخدام التعليمات البرمجية»؟
أعد استخدام التعليمات البرمجية الموجودة ووسّعها باستخدام الوراثة في C# تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 6 من أصل 7.
كم من الوقت يستغرق درس «الوراثة: إعادة استخدام التعليمات البرمجية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما هي البرمجة كائنية التوجه؟
- تعريف الفئات والكائنات
- فهم الخصائص والأساليب
- المنشئات في C#
- التغليف ومعدّلات الوصول
- الوراثة: إعادة استخدام التعليمات البرمجية
- تعدد الأشكال وتجاوز الأساليب