07-06-2013، 12:08 PM
(آخرین ویرایش: 07-06-2013، 12:11 PM، توسط Mohsen Omidvar.)
سازنده ها در وراثت به صورت زیر عمل می کنند:
هنگامی که یک شی از کلاس فرزند تعریف می شود مقادیر اولیه را به تابع سازنده کلاس فرزند ارسال می کند و سپس توسط کلمه کلیدی base مقادیر دریافت شده به پدر یا کلاس پایه ارسال می شود،بعد از اینکه سازنده پدر اجرا شد سپس سازنده فرزند اجرا می شود ،اما در مخرب فرزند فراخوانی میشود سپس پدر
مثال) کلاسی به نام مستطیل تعریف کنید و کلاس مکعب را از آن به ارث ببرید و سپس توسط تابع سازنده مقادیر مستطیل و مکعب را دریافت کنید و مساحت ،محیط و حجم را محاسبه کنید.
هنگامی که یک شی از کلاس فرزند تعریف می شود مقادیر اولیه را به تابع سازنده کلاس فرزند ارسال می کند و سپس توسط کلمه کلیدی base مقادیر دریافت شده به پدر یا کلاس پایه ارسال می شود،بعد از اینکه سازنده پدر اجرا شد سپس سازنده فرزند اجرا می شود ،اما در مخرب فرزند فراخوانی میشود سپس پدر
مثال) کلاسی به نام مستطیل تعریف کنید و کلاس مکعب را از آن به ارث ببرید و سپس توسط تابع سازنده مقادیر مستطیل و مکعب را دریافت کنید و مساحت ،محیط و حجم را محاسبه کنید.
کد:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace rect_verasat
{
class Program
{
class rect
{
protected int x, y;
public rect(int a, int b)
{
x = a;
y = b;
}
public void masahat()
{
int s = x * y;
Console.WriteLine("srect" + s.ToString());
}
public void mohit()
{
int z = (x * y) * 2;
Console.WriteLine("mohit rect " + z.ToString());
}
};
class cube : rect
{
private int h;
public cube(int x1, int y1, int h1)
: base(x1, y1)
{
h = h1;
}
public void masahat(){
int s = (x * h + x * y + y * h) * 2;
Console.WriteLine("Masahat.cube=" + s.ToString());
}
public void hajm()
{
int z = x * y * h;
Console.WriteLine("hajm.cube=" + z.ToString());
}
}
static void Main(string[] args)
{
cube obj;
obj = new cube(25, 66, 92);
obj.masahat();
obj.hajm();
obj.mohit();
Console.ReadKey();
}
}
}
*شما قادر به دیدن لینک ها نیستید ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید*
خورشید باش که اگر خواستی بر کسی نتابی نتوانی.