تبليغات
آرشيو موضوعي
لینک به ما
با قرار دادن این بنر در سایت خود از ما حمایت کنید

و یا به صورت متن
لينك دوستان
اطلاعات
تعداد مطالب : 283
ايجاد صفحه : 29.74 ثانيه
تاسيس : 28/03/85
به روز شده : ۲۰ /۸ /۱۳۸۷
آمار سايت
تعداد افراد آنلاین : 264
بازديد امروز : 23745
بازديد ديروز : 60429
بازديد كل : 23433871
امكانات
  افزودن به علاقه منديها   ارسال ايميل   RSS 2.0   آمار وب سايت
ارسال براي دوستان
لینک این مطلب را برای دوست خود ارسال کنید.
ايميل گيرنده:

ايميل فرستنده:

پيام شما (اختياري):

powered by Google
" نبايد از خسته بودن خود شرمنده باشي بلکه فقط بايد سعي کني خسته آور نباشي "

لینکدونی آسان دانلود : مطالب جالب و خواندنی از سراسر وب

:: مدارس كشور پنجشنبه تعطيل است (39)
:: چه کسی در مصیبت عزیزانش با شمشیر بر مغز خود می کوبد؟ (60)
:: گزارش تصویری جالب از کارگاه تولید موشک های دست ساز در نوار غزه (68)
:: BlackBerry Storm 9500 سفر به دنیائی دیگر (47)
:: عکس: روزها و شب‌های یخی (36)
:: کسانی که خود را جراحی کردند (242)
:: هيات محبان فاطمه زهرا - رزمندگان غرب تهران (1283)
:: پايگاه رسمي هيئت رزمندگان شميرانات (1178)
:: پخش زنده مداحی از شبکه رادیو تلویزیونی آسمان (1340)
:: تصاویری بسیار زیبا از عکسبرداری سه بعدی! (1731)
:: تصاویری دیدنی از ماه مصنوعی! (1835)
:: عکس: پرش با اسکی (1508)
:: عکس: کتابخانه‌های زیبای دنیا (1550)
:: داستان لوگوهای شرکت‌های معروف فیلمسازی هالیوود (1522)
:: موتور جستجوي آنلاين آيكن (1604)
:: ترجمه متون به زبان فارسی (2425)
:: قبل از ازدواج، توقعاتتان را ارزیابی کنید (1400)
:: کاهش خطر مرگ با تغییر دادن ۵ عادت مضر (2280)
:: کمک های اولیه دهان و دندان در خانه (1830)
:: مهندسی پلهای بزرگراه ها (1239)
» ادامه - آرشيو لينکدوني ...                                                                   » دريافت كد لينكدوني
Jan 07 , 2009
چهارشنبه 18 دي 87
مديريت وب سايتمدير تبليغات  عصرخوش؛ خسته‌ نباشيد
موضوع : #C  تعداد بازديد : 546

كلاس ها در سي شارپ :


تا بحال در حد كاربرد ، با كلاس ها آشنا شده ايم . اما در اين قسمت مي خواهيم نگاهي دقيق تر به كلاس ها بياندازيم.


هر كدي در سي شارپ قسمتي از يك كلاس مي باشد و تركيب تمام خواص و متدهاي موجود در يك كلاس يك نوع داده ي جديد تعريف شده از طرف ما را پديد مي آورد. هر متغيري كه از كلاس ساخته شود ، شيء ناميده مي شود و يك كپي منحصر به فرد است. براي مثال برنامه ي زير را درنظر بگيريد :


using System;


class Data
{
public int x;
}
class App
{
public static void Main()
{
Data d1 = new Data();
d1.x = 1;
Data d2 = new Data();
d2.x = 2;
Console.WriteLine("d1.x = {0}", d1.x);
Console.WriteLine("d2.x = {0}", d2.x);
}
}


در اينجا كلاس Data تعريف شده است و داراي يك عضو به نام x مي باشد. به اين نوع داده در كلاس فيلد گفته مي شود و هنگاميكه به صورت public معرفي مي شود يعني خارج از كلاس نيز قابل دسترسي است. در كد بالا دو متغير از كلاس تعريف و مقدار دهي اوليه شده اند. خروجي برنامه به صورت زير است :


d1.x = 1
d2.x = 2


دليل اين خروجي آن است كه هر instance (نمونه) از كلاس منحصر بفرد است و در اينجا نمي توان انتظار داشت كه هر دو خروجي يكي شوند.


براي مقدار دهي اوليه متغيرهايي كه به صورت فيلد تعريف مي شوند ، بهتر است مقدار دهي آنها را در سازنده ي كلاس (constructor) انجام دهيم.


class Data
{
public int x;
public Data(){x = 99;}
}

همانطور كه پيشتر نيز ذكر شد ، متدي كه هم نام كلاس است ، سازنده نام مي گيرد. يك كلاس مي تواند بيش از يك سازنده داشته باشد. براي مثال :


class Data
{
public int x;
private Data(){}
public Data(int y){x = y;}
public Data(int y, int z){x = y + z;}
}


از آنجائيكه كه سازنده ي بدون پارامتر ذكر شده در كد فوق private تعريف شده است بنابراين خارج از كلاس ديگر قابل دسترسي نمي باشد . بنابراين كدي خارج از كلاس ، تنها مي تواند از دو سازنده ي ديگر استفاده كند. براي مثال تعريف دو متغير جديد از اين كلاس به صورت زير مي باشد :


Data d1 = new Data(44);
Data d2 = new Data(22, 33);


سي شارپ به شما اجازه مي دهد تا سازنده ها را در يك كلاس توسط كلمه ي كليدي this نيز فراخواني كنيد يعني بجاي ذكر نام متد سازنده از كلمه ي this استفاده شود ( در خود كلاس ) .


اگر مي خواهيد متغيري را بين نمونه (instance) هاي مختلف يك كلاس به اشتراك بگذاريد كلمه ي كليدي static وارد صحنه مي شود. به مثال زير توجه كنيد :


using System;


class Counted
{
public static int count = 0;
public Counted()
{
count++;
}
public int GetInstanceCount()
{
return count;
}
}
class App
{
public static void Main()
{
Counted d1 = new Counted();
Console.WriteLine("current total {0}", d1.GetInstanceCount());
Counted d2 = new Counted();
Console.WriteLine("current total {0}", d2.GetInstanceCount());
Console.WriteLine("total {0}", Counted.count);
}
}


بايد خاطر نشان كرد كه متغيرهاي استاتيك توسط نمونه هاي كلاس قابل دستيابي نيستند و فقط درون كلاس به شكل زير مي توان از آْنها استفاده كرد :


.


در مثال فوق دو نمونه از كلاس Counted تعريف شده است. با هر بار فراخواني كلاس ، خودبخود سازنده اجرا شده و يك عدد به اين شمارشگر استاتيك اضافه مي شود. همانطور كه ذكر شد، براي اينكه بتوان به اين متغير استاتيك در خارج از كد دسترسي پيدا كرد يك متد غير استاتيك تعريف شده است.


در مثال فوق تابع GetInstanceCount تنها يك عدد را بر مي گرداند. در برنامه نويسي شيء گرا مرسوم است كه در اين حالت به جاي توابع از خواص استفاده شود كه به اندازه ي كافي در مورد آنها در قسمت هاي قبل توضيح داده شد. در اين صورت تعريف فوق به صورت زير در مي آيد :


class Counted
{
public static int x = 0;
public Counted()
{
x++;
}
public int InstanceCount // property
{
get{return x;}
}
}


و در اين صورت قسمت بعدي كد به صورت زير اصلاح مي شود (فراخواني خواص ، بدون ذكر پرانتزها بعد از نام آنها صورت مي گيرد):


Counted d1 = new Counted();
Console.WriteLine("current total {0}", d1.InstanceCount);
Counted d2 = new Counted();
Console.WriteLine("current total {0}", d2.InstanceCount);


اگر يك خاصيت هم خواندني و هم نوشتني باشد به صورت زير تعريف مي شود :


private string name;
public string Name
{
get{return name;}
set{name = value;}
}


فيلدهاي پابليك را مي توان خواند و يا تغيير داد. اگر لازم باشد تا كاربر نتواند آنها را تغيير دهد مي توان از كلمه ي كليدي readonly قبل از تعريف آنها استفاده كرد. مثال :


class Data
{
public readonly int x = 42;
}

نويسنده : مهرشاد تاريخ : چهارشنبه ۸ اسفندماه ۱۳۸۶ ساعت : ۸:۴۸:۵۶ صبح | نظرات | لينك خراب
مطالب مرتبط
نرم افزار - موبايل - كاريكاتور - آموزش - اخبار آي تي - فيلم -  لينكدوني -  تبليغات -  ارسال مطلب

Statistics | Atom | RSS 2.0 | RSD | E-Mail | Advertise
Copyright © 2005-2009 AsanDownload™ Design: Mahdi Hosting : Poshtiban
تمامي حقوق مطالب، تصاوير و طرح قالب براي آسان دانلود محفوظ است، نقل و استفاده از آنها در سايت ها و نشريات تنها با ذکر منبع مجاز ميباشد

تبليغات
مطالب گذشته
ده مطلب تصادفي
آرشيو ماهانه
عضويت و ارسال مطلب
مطالب خود را جهت انتشار در آسان دانلود ارسال نمائید

téléchargement - trasferimento - 下载 - ダウンロード다운로드 - скачать - transferencia directa - μεταφορτώστε - download

دانلود , دانلود نرم افزار , آسان دانلود , دانلود آسان , دانلود , دانولد , داونلود , دانلد , داونلد , کیجن , کرک , سریال , نرم افزار , ویندوز ویستا ، مایکروسافت ویندوز ویستا ، نسخه جدید ویندوز ویستا ، نسخه نهایی ویندوز ویستا ، ویندوز ویستا یولتیمیت ، ویندوز ویستا با کرک ، کرک ویندوز ویستا ، خرید ویندوز ویستا ، فیلم 300 ، دانلود فیلم 300 ، فتوشاپ 10 ، فتوشاپ cs3 ، نورتون 2007 ، دانلود نرم افزار ، دانلود نرم افزار جدید ، دانلود ، آنتی ویروس ، انتی ویروس ، ویندوز ویستا بدون کرک ، ویستا ویندوز ، windows vista , vista activation , windows vista , crack , download , free download , photoshop cs3 10, norton 2007, software , téléchargement, trasferimento, 下载, ダウンロード, 다운로드, скачать, transferencia directa, μεταφορτώστε, nhkg,n


دانلود - asandownload
دانلود نرم افزار - asandownload
دانلود نرم افزار - asandownload
دانلود نرم افزار - asandownload
دانلود نرم افزار - asandownload
دانلود نرم افزار - asandownload
موبايل
كاريكاتور
آموزش و مقالات
اخبار آي تي
فيلم
لينكدوني