تبليغاتX
Free Domains Hosting at .co.nr
آموزش برنامه نویسی کامپیوتر و الکترونیک
آموزش برنامه نویسی کامپیوتر و الکترونیک
اقبال سهرابی(09356614309) پاسخگوی مشکلات شما در زمینه الکترونیک,کامپیوتر و اینترنت می باشد.
خانه آرشیو مطالب تماس با من در صورتی که هر سوال فوری در زمینه کامپیوتر و الکترونیک دارید با شماره 09356614309(اقبال سهرابی) تماس بگیرید
درباره وبلاگ
آموزش C# ، آموزش برنامه نویسی ، آموزش کامپیوتر ، آموزش الکترونیک ، و خرید برخی محصولات بسیار مهم و کاربردی .
راهنمایی جهت ایجاد وبسایت و معرفی بهترین سرویس دهنگان اینترنتی .
و همچنین معرفی بهترین سایتهای تجارت الکترونیکی در ایران.
با تشکر
- اقبال سهرابی -
منوي اصلي
صفحه نخست
آرشيو مطالب
پست الکترونیک
موضوعات مطالب
وبسایت کسب در آمد
تجارت الکترونیکی
آموزش
آموزش هك (Learning Hack)
موبایل
----- آموزش زبان #C ----
زبانهای خارجی
الکترونیک
آرشيو مطالب
نويسندگان
اقبال سهرابی
الناز
سامان A
آقا مجید
بازدید کنندگان
کمال بهرامی
دکتر محسن
فرزاد حسینی
مهسا(بیدار)
پيوندهاي روزانه
Username & Password For NOD 32
حق و صبر
فعال کردن ویندوز XP با استفاده از Windows_xp_Genuine_Advantage دانلود آن
کرمانشاه -راهنمای جامع -
شرکت نانو Nano Kurd
---- وبلاگ آموزش ایرانیان -----
حقوق زن
زندگی !
$$$$ تجارت بدون سرمایه $$$$
برترین وبلاگ شعر دنیا
کلاه برداران و معتبر ترین سایت
برترین تجارت جهان
پيوندها
صبا
مهر
عاشقانه
آموزش الکترونیک
وبلاگ آموزش ایرانیان
آموزش آنلاین زبان انگلیسی
آموزش درس مبانی علم رايانه
پلکهای خیس
تقدیم به عاشقان
وبلاگی دیگر از ما
* آموزش برنامه نويسي ايرانيان *
عکسهای عاشقانه،عرفانی ومختلف
بزرگترين فروشگاه فيلم و سريال
یه روزایی ...
تجارت در ایران مارکت سنتر
خرس قهوه ای (مهسا)
قالب وبلاگ
امكانات





Powered by WebGozar

درس هفتم – آشنايي با كلاسها در C#

 

در اين درس با كلاسها در زبان C# آشنا خواهيد شد. اهداف اين درس به شرح زير مي‌باشند :

ü      پياده‌سازي سازنده‌ها (Constructors)

ü      درك تفاوت بين اعضاي نمونه (Instance) و استاتيك (Static)

ü      آشنايي با تخريب كننده‌ها (Destructors)

ü      آشنايي با اعضاي كلاسها

 

در تمامي مطالبي كه در اين سايت مشاهده كرده‌ايد، برنامه‌ها داراي كلاس‌هايي بوده‌اند. در حال حاضر بايد درك نسبي از كلاسها و كار آنها و چگونگي ايجاد آنها داشته باشيد. در اين درس مروري بر آموخته‌هاي قبلي از كلاسها خواهيم كرد و نيز با اعضاي كلاسها آشنا مي‌شويم.

 

يك كلاس با استفاده از كلمه كليدي class كه بدنبال آن نام كلاس آمده باشد، اعلان مي‌گردد و اعضاي اين كلاس درون {} اعلان مي‌گردند. هر كلاس داراي سازنده‌اي مي‌باشد كه در هربار ايجاد نمونه‌اي جديد از آن كلاس، بصورت خودكار فراخواني مي‌گردد. هدف از سازنده، تخصيص‌دهي اعضاي كلاس در زمان ايجاد نمونه‌اي جديد از كلاس است. سازنده‌ها داراي مقادير بازگشتي نبوده و همواره نامي مشابه نام كلاس دارند. مثال 1-7 نمونه‌اي از يك كلاس را نشان مي‌دهد.

// Namespace اعلان

using System;

 

class OutputClass

{

string myString;

// سازنده

public OutputClass(string inputString)

{

myString = inputString;

}

 // متد نمونه

public void printString()

{

Console.WriteLine("{0}", myString);

}

// تخريب كننده

~OutputClass()

{

// روتيني جهت آزادسازي برخي از منابع سيستم

}

}

// كلاس آغازين برنامه

class ExampleClass

{

// آغاز اجراي برنامه

public static void Main()

{

// OutputClass نمونه‌اي از

OutputClass outCl = new OutputClass("This is printed by the output class.");

 // Output فراخواني متد كلاس

outCl.printString();

}

}

در مثال 1-7 دو كلاس ديده مي‌شوند. كلاس بالايي، كلاس OutPutClass، داراي سازنده، متد نمونه و يك تخريب كننده است. همچنين اين كلاس داراي فيلدي با نام myString است. توجه نماييد كه چگونه سازنده اين كلاس اعضاي آنرا تخصيص‌دهي(مقداردهي) مي‌نمايد. در اين مثال، سازنده كلاس رشته‌ ورودي (inputString) را بعنوان آرگومان خود دريافت مي‌نمايد. سپس اين مقدار داخل فيلد كلاس يعني myString كپي مي‌گردد.

 

همانطور كه در ExampleClass مشاهده مي‌نماييد، استفاده از سازنده الزامي نمي‌باشد. در اين مورد سازنده پيش فرض ايجاد مي‌گردد. سازنده پيش فرض، سازنده‌اي بدون هيچ نوع آرگوماني است. البته شايان ذكر است كه سازنده‌هاييي بدون آرگومان هميشه مورد استفاده نبوده و مفيد نيستند. جهت كارآمد كردن بيشتر سازنده‌هاي بدون آرگومان بهتر است آنها را با تخصيص‌دهنده (Initializers) پياده‌سازي نماييد. به مثال زير در اين زمينه توجه نماييد :

public OutputClass() : this("Default Constructor String") { }

فرض كنيد اين عبارت در كلاس OutPutClass در مثال 1-7 قرار داشت. اين سازنده پيش فرض به يك تخصيص‌دهنده همراه شده است. ":" ابتداي تخصيص‌دهنده را مشخص ‌مي‌نما‌يد، و به دنبال آن كلمه كليدي this آمده است. كلمه كليدي this به شيء كنوني اشاره مي‌نمايد. استفاده از اين كلمه، فراخواني به سازنده شيء كنوني كه در آن تعريف شده است، ايجاد مي‌كند. بعد از كلمه كليدي this ليست پارامترها قرار مي‌گيرد كه در اينجا يك رشته است. عملي كه تخصيص‌دهنده فوق انجام مي‌دهد، باعث مي‌شود تا سازنده OutPutClass رشته‌اي را بعنوان آرگومان دريافت نمايد. استفاده از تخصيص‌دهنده‌ها تضمين مي‌نمايند كه فيلدهاي كلاس شما در هنگام ايجاد نمونه‌اي جديد مقدار‌دهي مي‌شوند.

 

مثال فوق نشان داد كه چگونه يك كلاس مي‌تواند سازنده‌هاي متفاوتي داشته باشد. سازنده‌اي كه فراخواني مي‌شود، به تعداد و نوع آرگومانهايش وابسته است.

 

در زبان C#، اعضاي كلاسها دو نوع مي‌باشند : اعضاي نمونه و استاتيك.  اعضاي نمونه كلاس متعلق به رخداد خاصي از كلاس هستند. هربار كه شي‌اي از كلاسي خاص ايجاد مي‌كنيد، در حقيقت نمونه‌ جديدي از آن كلاس ايجاد كرده‌ايد. متد Main() در كلاس ExampleClass نمونه جديدي از OutPutClass را تحت نام outCl ايجاد مي‌نمايد. مي‌توان نمونه‌هاي متفاوتي از كلاس OutPutClass را با نامهاي مختلف ايجاد نمود. هر يك از اين نمونه‌هاي مجزا بوده و به تنهايي عمل مي‌كنند. به عنوان مثال اگر دو نمونه از كلاس OutPutClass همانند زير ايجاد نماييد :

OutputClass oc1 = new OutputClass("OutputClass1");

OutputClass oc2 = new OutputClass("OutputClass2");

با اين اعلان، شما دو نمونه از كلاس OutPutClass را ايجاد كرده‌ايد كه يك از آنها داراي فيلد myString و متد printString() هستند و اين فيلدها و متدها كاملاً از يكديگر مجزا مي‌باشند. به بيان ديگر درصورتيكه عضوي از كلاس استاتيك باشد از طريق ساختار نوشتاري . قابل دسترس خواهد بود. در اين مثال نمونه‌ها oc1 و oc2 هستند. فرض كنيد كلاس OutPutClass داراي متد استاتيك زير باشد :

public static void staticPrinter()

{

  Console.WriteLine("There is only one of me.");

}

اين متد را از درون متد Main() به صورت زير مي‌توانيد فراخواني نماييد :

OutputClass.staticPrinter();

اعضاي استاتيك يك كلاس تنها از طريق نام آن كلاس قابل دسترس مي‌باشند و نه از طريق نام نمونه ايجاد شده از روي كلاس. بدين ترتيب براي فراخواني اعضاي استاتيك يك كلاس نيازي به ايجاد نمونه از روي آن كلاس نمي‌باشد. همچنين تنها يك كپي از عضو استاتيك كلاس، در طول برنامه موجود مي‌باشد. يك مورد استفاده مناسب از اعضاي استاتيك در مواردي است كه تنها يك عمل بايد انجام گيرد و در انجام اين عمل هيچ حالت مياني وجود نداشته باشد، مانند محاسبات رياضي. در حقيقت، .Net Framework BCL خود داراي كلاس Math مي‌باشد كه از اعضاي استاتيك بهره مي‌برد.

 

نوع ديگر سازنده‌ها، سازنده‌هاي استاتيك هستند. از سازنده‌هاي استاتيك جهت مقدار‌دهي فيلدهاي استاتيك يك كلاس استفاده مي‌شود. براي اعلان يك سازنده استاتيك تنها كافيست كه از كلمه كليدي static در جلوي نام سازنده استفاده نماييد. سازنده استاتيك قبل از ايجاد نمونه جديدي از كلاس، قبل از فراخواني عضو استاتيك و قبل از فراخواني سازنده استاتيك كلاس مشتق شده، فراخواني مي‌گردد. اين سازنده‌ها تنها يكبار فراخواني مي‌شوند.

 

OutPutClass همچنين داراي يك تخريب‌كننده (Destructor) است. تخريب‌كننده‌ها شبيه به سازنده‌ها هستند، با اين تفاوت كه در جلوي خود علامت "~" را دارا مي‌باشند. هيچ پارامتري دريافت نكرده و هيچ مقداري باز نمي‌گردانند. از تخريب‌كننده‌ها مي‌توان در هر نقطه از برنامه كه نياز به آزادسازي منابع سيستم كه در اختيار كلاس يا برنامه است، استفاده نمود. تخريب‌كننده‌ها معمولاً زماني فراخواني مي‌شوند كه Garbage Collector زبان C# تصميم به حذف شيء مورد استفاده برنامه از حافظه و آزادسازي منابع سيستم، گرفته باشد. (Garbage Collector يا GC، يكي از امكانات .Net Framework مخصوص زبان C# است كه سيستم بصورت اتوماتيك اقدام به آزادسازي حافظه و باز گرداندن منابع بلا استفاده به سيستم مي‌نمايد. فراخواني GC بصورت خودكار رخ مي‌دهد مگر برنامه‌نويس بصورت صريح از طريق تخريب‌كننده‌ها آنرا فراخواني نمايد. در مباحث پيشرفته‌تري كه در آينده مطرح مي‌كنيم خواهيد ديد كه در چه مواقعي نياز به فراخواني تخريب‌كننده‌ها بصورت شخصي داريد.)

 

تا كنون، تنها اعضاي كلاس كه با آنها سر و كار داشته‌ايد، متدها، فيلدها، سازنده‌ها و تخريب‌كننده‌ها بوده‌اند در زير ليست كاملي از انواعي را كه مي‌توانيد در كلاس از آنها استفاده نماييد آورده شده است :

• Constructors

• Destructors

• Fields

• Methods

• Properties

• Indexers

• Delegates

• Events

• Nested Classes

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

 

خلاصه

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

 


نوشته شده در جمعه 16 فروردین1381 توسط اقبال سهرابی | لينك ثابت |
عناوين آخرين مطالب ارسالي
» درسهای #c
» بهترین وبسایت کسب در آمد اینترنتی در ایران
» آموزش C#
» آموزش هك (Learning Hack) بهترین سی دی آ موزشی - پرداخت هزینه درب منزل
» پشتیبان گیری از وبلاگ بلاگفا به روشی بسیار سریع تر از خود بلاگفا و مطمئن تر
» مواردی که تا حالا در موبایل نشنیده اید
» پذیرش نویسنده برای وبلاگ
» نرم افزار ارسال SMS گروهی 8 تومانی !
» تکنیکهای تست زنی در کنکور
» آموزش پيشرفته زبان انگليسي
» آموزش جامع تعميرات موبايل پیشرفته
» بهترین وبسایت خرید اینترنتی
» الکترونیک بخش اول
» ره مه زان گیان ها ته وه
» بهترین ویسایت کسب در آمد در ایران
» حذف اطلاعات و فایلها برای همیشه ....
» خدایا کفر نمی گویم
» زبان نگاه
» مضرات استفاده طولانی از موبایل
» مفهوم شبکه سلولی
» ما در کجای این هستی قرار داریم ...
» انواع کدهای موبال
» ترفندهای موبایل
» در مورد شبکه های موبایل
» شعر جدید زندگی انسانها .... Humans Life
» طراحی صفحات وب (ASP.NET)+دانلود کتاب ای اس پی دات نت بطور کامل
» سهام رایگان جهانی
» سخنان عجیب اینشتین
» چگونه Eset smart security را کراک و به روز نماییم ؟
» چگونه Eset smart security را کراک و به روز نماییم ؟

700dolar

اقبال سهرابی

700dolar

http://700dolar.blogfa.com

آموزش برنامه نویسی کامپیوتر و الکترونیک

آموزش برنامه نویسی کامپیوتر و الکترونیک - درس هفتم – آشنايي با كلاسها در C#

آموزش برنامه نویسی کامپیوتر و الکترونیک

آموزش C# ، آموزش برنامه نویسی ، آموزش کامپیوتر ، آموزش الکترونیک ، و خرید برخی محصولات بسیار مهم و کاربردی .
راهنمایی جهت ایجاد وبسایت و معرفی بهترین سرویس دهنگان اینترنتی .
و همچنین معرفی بهترین سایتهای تجارت الکترونیکی در ایران.
با تشکر
- اقبال سهرابی - اقبال سهرابی(09356614309) پاسخگوی مشکلات شما در زمینه الکترونیک,کامپیوتر و اینترنت می باشد.

آموزش برنامه نویسی کامپیوتر و الکترونیک

قالب بلاگفا