58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
---
|
|
title: Inheritance
|
|
localeTitle: ميراث
|
|
---
|
|
# ميراث
|
|
|
|
يسمح لك الوراثة بإنشاء فصل دراسي يوسع أو يغير فئة موجودة. يمكن استخدام هذا لإنشاء فئات مشتقة من الفئات الأخرى.
|
|
|
|
# الطبقة الأساسية والفئة المشتقة
|
|
|
|
هذه هي المصطلحات المستخدمة في الفصول عند الإشارة إلى الوراثة. ترث الفئة المشتقة الفئة الأساسية ، مع أي متغيرات أو وظائف أو عمليات تستخدمها الطبقة الأساسية. يمكن أن يكون للفئة المشتقة المتغيرات والوظائف الخاصة بها إلى جانب تلك التي ترثها من الطبقة الأساسية.
|
|
|
|
على سبيل المثال ، يمكن أن يكون لفئة أساسية من "الحيوان" فئة مشتقة من "الكلب". ستحتوي فئة الحيوانات على ميزات متعلقة بالحيوانات بشكل عام ، بينما يحتوي فصل الكلاب على ميزات فريدة للكلاب. عندما ترث فئة الكلب الطبقة الحيوانية ، فإنها ستتمكن من الإشارة إلى كل من السمات المتعلقة بالحيوانات والميزات الفريدة للكلاب.
|
|
|
|
# قواعد الوراثة
|
|
|
|
الوراثة هي طريقة واحدة. لا ترث الفئة الأساسية ميزات الفئة المشتقة.
|
|
|
|
الوراثة متعدية. يمكن أن يكون لفئة أساسية من "الحيوان" فئة مشتقة من "الكلب" ، ويمكن أن يكون لها فئة مشتقة من "الكلب". سوف يرث فريق Terrier كلاً من خصائص فئة الكلب وفئة الحيوانات.
|
|
|
|
# الرمز `:`
|
|
|
|
في C # `:` يتم استخدام الرمز للإشارة إلى التوريث. يدعى هذا عند إنشاء الطبقة المشتقة.
|
|
|
|
## مثال
|
|
|
|
# الطبقة الأساسية
|
|
|
|
`public class Animal
|
|
{
|
|
public int ID;
|
|
public string title;
|
|
public enum phylum;
|
|
public enum dietType;
|
|
|
|
public DefineAnimal(int id, string name, enum phy, enum diet)
|
|
{
|
|
this.ID = id;
|
|
this.title = name;
|
|
this.phylum = phy;
|
|
this.dietType = diet;
|
|
}
|
|
}
|
|
`
|
|
|
|
# فئة مشتقة
|
|
|
|
`public class Dog : Animal
|
|
{
|
|
public enum breed;
|
|
public int levelOfTraining;
|
|
|
|
public void SayWoof()
|
|
{
|
|
Console.WriteLine("Woof");
|
|
}
|
|
}
|
|
` |