0

آموزش جامع Visual C#.NET

 
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به: آموزش جامع Visual C#.NET
پنج شنبه 24 اردیبهشت 1394  3:39 PM

 شی گرائی (بخش سیزدهم)
در پست قبلی دربارۀ override کردن متدهای مجازی صحبت کردم در این پست به پياده سازی چند ريختی میپردازم
 
 
 
برای فهم بهتر موضوع اول به کد زیر دقت کنید :
 
کد PHP:
using System; 
 
public class pointsample 
 
    public static int Main() 
    { 
 
        pointObject[] pObj = new pointObject[4]; 
 
        pObj[0] = new Line(); 
 
        pObj[1] = new Circle(); 
 
        pObj[2] = new Square(); 
 
        pObj[3] = new pointObject(); 
 
        foreach (pointObject pointObj in pObj) 
        { 
 
            pointObj.point(); 
 
        } 
 
        return 0; 
 
    } 
 
}  
دقت کنید که در کد بالا چند ریختی پیاده سازی شده ، در متد Main يه آرايه ايجاد کردیم وعناصر اين آرايه از نوع pointObject تعريف شده اند. اين آرايه pObj نامگذاری شده و چهار عضو از نوع pointObject رو در خودش نگه داشته.
 
آرايه pObj رو تخصیص دادیم و به دليل رابطه ارث بری که در کد می بینید كلاس pointObject، با عناصر Line ، Circle و Square به آرایه تخصیص داده شده اند.
بدون استفاده از ارث بری ، برای هر کدوم از عناصر بايد آرايه ای جدا می ساختين ، بعد از تخصيص دهی آرايه، حلقه foreach تک تک عناصرو پيمايش می كنه و درون حلقه foreach متد point برای هر کدوم از اعضای آرايه اجرا ميشه و متد point در هر يک از اين اشياء override میشه

 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

تشکرات از این پست
دسترسی سریع به انجمن ها