يوجد عندنا
two Class
class A
class B
اريد عمل كلاس سي بحيث يجمع الصفات للكلاسين
يوجد عندنا
two Class
class A
class B
اريد عمل كلاس سي بحيث يجمع الصفات للكلاسين
الحمد لله الذي بنعمته تتم الصالحات
هذه تدعى multiple inheritance و هي غير مدعومة في الدوت نت. و العديد من خبراء الـOOP لا يفضلون هذه الطريقة. يمكن الإستعاضة عنها باستخدام الـinterface و الذي يمكنك استخدام أكثر من واحد للكلاس.
شكرا جزيلا يا System Down وانا اعرف هذا الشيء لكن السؤال كيف يمكن عمل ذلك بطريقة ملتفة
الحمد لله الذي بنعمته تتم الصالحات
السلام عليكم ورحمة الله وبركاته
لست متاكدة من صحة هذا الكود
public class D
{
public virtual void DoWork(int i)
{
// Original implementation.
}
}
public abstract class E : D
{
public abstract override void DoWork(int i);
}
public class F : E
{
public override void DoWork(int i)
{
// New implementation.
}
}شكرا للاخت دعاء مختار لكن السؤال ليس هكذا
عندنا
public class A
{
protected int x;
}
public class B
{
protected int y;
}السؤال كيف يمكن عمل كلاس سي بحيث يرث من الكلاسين بطريقة غير مباشرة
ارجو ممن يعرف الرد باسرع وقت ممكن وجزاكم الله كل الخير
الحمد لله الذي بنعمته تتم الصالحات
فكرت في هذه الطريقة ممكن تكون صحيحة
namespace Moddar Attari
{
public class A
{
protected int x;
public void print_X()
{
MessageBox.Show("In Class A");
}
}
public class B
{
protected int y;
public void print_y()
{
MessageBox.Show("In Class B");
}
}
public class C : A
{
public class D : B
{
}
public D get_B()
{
return new D();
}
}
public class E : C
{
public E()
{
}
}
}ارجو ممن يعرف مساعدتي
الحمد لله الذي بنعمته تتم الصالحات
using System;
namespace ConsoleApplication1
{
class A
{
public A()
{
Console.WriteLine("A");
}
}
class B : A
{
public B()
{
Console.WriteLine("B");
}
}
class C : B
{
public C()
{
Console.WriteLine("C");
}
}
class Program
{
static void Main(string[] args)
{
C a = new C();
}
}
}OUTPUT: A B C
بارك الله فيك اخي khaled100 لكن السؤال غير ذلك لان كلاس A جاهز وكلاس B جاهز ولا يصح ان ترث B من A .
الحمد لله الذي بنعمته تتم الصالحات
لا مشكلة
تم تعديل هذه المشاركة بواسطة ali_mma في 5 مارس 2008 في 22:56
الحمد لله الذي بنعمته تتم الصالحات
ألسلام عليكم و رحمة الله و بركاته
انا جديد فى المنتدى ده و دى اول مشاركة ليا و مش الاخيرة باذن الله
دلوقتى انت بتسال ازاى تعمل Multi Inheritance فى السى شارب
للاسف السى شارب لا تدعم الوراثة لاكثر من كلاس
بس نيجى للناحية التانية تقدر تتحايل على الموضوع ده باستخدام ال Interfaces
لان من احد مميزات الانترفيس انك ممكن Multi inheritance
يا ريت اكون افادتك
كان هذا سؤال في مقابلة توظيف ليظهر الشخص قدرته على التعامل مع الوراثة بهذه الطريقة.
يوجد لحل لكن بطريقة غير مباشر . انا شخصيا لا اعرفها.
الحمد لله الذي بنعمته تتم الصالحات