الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال فى السى شارب عن التوريث

بدأه Genuis Man في 2 سبتمبر 2008 · 8 رد · 1,213 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم 

هل يوجد multiply inheritable  فى السى شارب 

وكذلك هل يوجد فى السى بلس بلس أم لا ...؟ 

banner1.gif
#2
اقتباس
هل يوجد multiply inheritable فى السى شارب

اعتقد لا يوجد لكن يوجد multilevel .(اذا لم تخني الذاكرة).

يمكن تعويضها ب Interface.

اقتباس
وكذلك هل يوجد فى السى بلس بلس أم لا ...؟

نعم موجودة

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#3

multiply inheritable موجوده في c++ و لكن تظهر مشكله و تسمي diamond problem (يوجد مشاكل اخري و لكن توجد مميزات ايضا) و هذا سبب عدم وجودها في ال C#

و ال diamond problem تحدث عندما يرث كلاس من 2 كلاس يرثوا من كلاس واحد

#4
AhmedElbaz كتب:
multiply inheritable موجوده في c++ و لكن تظهر مشكله و تسمي diamond problem (يوجد مشاكل اخري و لكن توجد مميزات ايضا) و هذا سبب عدم وجودها في ال C#

و ال diamond problem تحدث عندما يرث كلاس من 2 كلاس يرثوا من كلاس واحد

هذه المشكلة محلولة بأستخدام كلمة virtual عند التوريث

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#5
اقتباس
هذه المشكلة محلولة بأستخدام كلمة Virtual عند التوريث

ممكن توضح لاني شايف انها لا تحل المشكلة

منذ فترة طويلة و انا بعيد عن ال C++ واحدة واحدة عليا :lol:

#6
اقتباس
و ال diamond problem تحدث عندما يرث كلاس من 2 كلاس يرثوا من كلاس واحد

حسب ما فهمت ،

تحل هكذا

class A
{
}

class B: virtual A
{

}

class C: virtual A

{

}
class D : B , C
{

}

حسب ما اذكر ، اذا لم اخطئ

اقتباس
منذ فترة طويلة و انا بعيد عن ال C++

وانا ايضا :lol:

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#7

علي العموم ليست امامي فرصة لتجربة ذلك

ياريت احد خبراء اللغة يوضحوا المشكلة

#8

لا يوجد شئ في السي شارب هكذا

اقتباس
{

}

Class B: Virtual A

{

}

Class C: Virtual A

{

}

Class D : B , C

{

}

يمكنك عمل توريث من كلاس واحد واكثر من interface

لكن التوريث من اكثر من كلاس لا يوجد الا في c++ .net

#9

أولا شكرا على اهتمامكم بالموضوع ... والرد

يعنى افهم من الخلاصه ان

mutliplie inheritance not exist in c#

but

it exist in c++

تم تعديل هذه المشاركة بواسطة Genuis Man في 4 سبتمبر 2008 في 13:34

banner1.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…