PDA

View Full Version : سوال: inheritace



mehdi_csharp
جمعه 02 مهر 1389, 19:09 عصر
در این کد چطوری یک کلاس که اعضاش بیشتر در کلاس دیگری که اعضاش کمتر ریخته میشه؟


namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
b u = new h();
}
}
class b
{
int g;
}
class h:b
{
int r;
}
}

mohammad272005
جمعه 02 مهر 1389, 19:37 عصر
این مشکلی ایجاد نمی کنه. شما داری یک pointer از کلاس b رو اختصاص میدی به یه نمونه از کلاس h. در واقع هر h یه b هست. پس h می تونه به b تبدیل بشه. پس می تونه تو ظرفش هم ریخته بشه. فقط (اگه از casting استفاده نکنی) می تونی از نمونه h، بصورت یه b استفاده کنی.
مثلا هر "سیب"ی یه "میوه" هست. پس "سیب" می تونه تو سبد "میوه"ها قرار داده بشه.