شی گرائی (بخش هشتم)
بخش سوم Namespace
فراخوانــی اعضـــای يک Namespace
در پست های قبلی با فضای نام ها و فضاهای تو در تو آشنا شدید ، در این پست نحوۀ فرخوانی عضوهای یک فضای نام رو بتون یاد میدم
کد:
using System;
namespace csharp
{
// فضای نام تودرتو
namespace html
{
// کلاس فراخوانی شده
class myhtml1
{
// متد فراخوانی شده
public static void mycss1()
{
Console.WriteLine("First Example.");
}
}
}
// كلاس آغازين برنامه
class NamespaceCalling
{
// آغاز اجراي برنامه
public static void Main()
{
// چاپ در خروجی
html.myhtml1.mycss1();
html.myhtml2.mycss2();
}
}
}
// مشابه فضای نام تو در توی بالا
namespace java
{
class myhtml2
{
public static void mycss2()
{
Console.WriteLine("Second Example.");
}
}
}
در کد بالا، یک Namespace تودرتو فراخوانی شده ، html درون csharp است ، كه دارای كلاس myhtml1 و متد mycss1 قرار گرفته .
متد Main اين متد را با نام html.myhtml1.mycss1 فراخوانی میکنه. چون متد Main و html درون يه فضای نام هستند ، و يه فضای نام دیگه بصورت namespace java فراخوانی کردم.
كلاسهای myhtml1 و myhtml2 هر دو متعلق به یه Namespace هستند ، و درون متد Main ، متد mycss2 بصورت html.myhtml2.mycss2 فراخوانی کردم.
توجــه کنیـد که برای هر کدوم از كلاسهای myhtml1 و myhtml2 نامهای متفاوتی انتخاب کردیم چون هرعضو مربوط به یک فضای باید نام منحصر به فردی داشته باشه.
برای متدهـــــای فراخوانـــی شده هم نام های متفاوتــی در نظر گرفته شده.