|
سلام
ادامه مطلب استفاده از کلاسها و اشیا در سی شارپ لازم به ذکر هست که این قسمتها، مربوط به مطالب پایه ای کلاسها و اشیا هستند و بعدا در قسمتهایی بصورت مفصل راجع به کلاسها و اشیا صحبت خواهد شد. استفاده از کلاس برای قالب دهی و تبدیل خیلی وقتها از متدها برای تبدیل نوعهای مختلف داده و قالب دهی آنها استفاده می شود. البته از کلاسها برای مخفی سازی جزییات تبدیل نیز استفاده می شود. برای مثال، ممکنه شما برنامه ای طراحی کرده باشید که یک مقدار ساعت رو به شکل عدد از ورودی بگیرد. 0321.53 03:21:53 به عنوان تمرین پیاده سازی این کلاس ساده به عهده شما است. استفاده از کلاس به جای شی تفاوت عمده بین زبانهای روالی و زبانهای شی گرا، حضور کلاس است. در مثال قبل (اینجا) نمونه ای از یک کلاس رو دیدید که دارای دو نوع متد خصوصی و عمومی بود که هر کدام می تونستند دارای داده هم باشند. کلاسها به شکل منحصربفرد ولی با نمونه های بیشماری به عنوان اشیا در برنامه می تواند حضور داشته باشد که هر نمونه دارای یک مجموعه مستقل از داده است. کلاسها و خصوصیات (Class and Properties) کلاسها در سی شارپ می توانند حاوی خصوصیات باشند که هر خصوصیت می تواند از هر نوع داده ای که در سی شارپ موجود است تعریف شده باشد. در مثال زیر ما یک کلاس داریم که دارای دو متد (برای تعیین کردن و گرفتن مقدار) و یک خصوصیت است: /// LIST 1 دقت کنید که در تعریف خصوصیات از پرانتز استفاده نمی شود و از کلمه value برای داده ذخیره شده استفاده می شود.private int mAge; //age property public int age { get { return mAge; } set { mAge = value; }} استفاده از شرط در تعیین داده های کلاس یک کلاس محل مناسبی برای کپسوله سازی خطاها است. برای مثال ممکن است کاربر برای یک داده از نوع عدد صحیح که در کلاس تعریف شده قرار است ساعت را نکهداری کند، شرط تعیین زمانهای مجاز مطرح می شود: ساعت 0 تا ساعت 23. در صورتی که عددی بزرگتر یا کوچکتر از محدوده مورد نظر به کلاس داده شود، می توان رفتارهای مختلفی را براساس تعاریف برنامه انجام داد. در مثال زیر در صورتی که عدد ورودی برای ساعت نامتعبر باشد، مقدار 0 به عنوان عدد معتبر پذیرفته می شود. /// LIST 2 public int setHour(int hour) { if (hour > 23 || hour < 0) mHour = 0; else mHour = hour; } مقداردهی اولیه به متغیرها و پارمترهای مورد نیاز در کلاس برای تعیین مقادیر پیش فرض برای پارامترهای موجود در یک کلاس و مقداردهی اولیه به آنها از سازنده کلاس استفاده می شود. همانطور که قبلا اشاره شد، سازنده کلاس یک متد بدون خروجی است. /// LIST 3 public FormatTime(string entry) { errflag = false; } تگهای فارسی: مهدی ریزوندی، سی شارپ، سي شارپ، کلاس، شی، عمومی، خصوصی، متد، برنامه نویسی، کد نمونه، سازنده، نمونه شی
English Tags: Mehdi Rizvandi, Csharp, C sharp, C#, Class, Object, Public, Private, Method, Programming, Sample Code, Source Code, Constructor, Instance
+
نوشته شده در یکشنبه بیست و نهم مهر 1386ساعت 19:17 توسط کنستانتین
|
سلام
چند وقتی بود به دلیل مشکلات کاری نتونستم پستی را داشته باشم که در این مدت دوستان خوبم زحمت زیادی کشیدند که وبلاگ بروزرسانی بشه. به هر حال دوباره پستهام رو شروع می کنم که کمتر زحمت به دوستان بدم. ادامه مطالب آموزش سی شارپ مقدماتی رو در این پست خواهیم داشت: سری چهارم از آموزش زبان سی شارپ استفاده از کلاسها و اشیا در سی شارپ همه برنامه های سی شارپ از کلاسها بهره می برند. یک برنامه ویندوزی شامل یک پنجره خود از کلاسی به نام Form استفاده می کند. در سی شارپ مفهوم ماژولها داده های عمومی و داده های مشترک که جز مفاهیم کلاس نیستند، وجود ندارد. یک کلاس ترکیبی از متدهای Public (عمومی) و Private (خصوصی) است. معمولا ما هر کلاس را در یک فایل می نویسیم. البته این یک قانون نیست. وقتی که یک کلاس را می سازیم، این کلاس به تنهایی موجودیتی ندارد ولی می توانیم یک نمونه Instance از آن را با استفاده new ایجاد نماییم. وقتی یک نمونه از یک کلاس را می سازیم می توانیم داده هایی را برای شروع ساخت نمونه به کلاس پاس بدیم. این عمل را با استفاده از constructor انجام می دهیم. یک سازنده (constructor) یک متد هم نام با نام کلاس است که هیچ نوع داده خروجی ندارد و پارمترهای ورودی آن می توانند از صفر به بالا باشند که به ازاء هر نمونه شی ساخته شده ارسال می شوند. برنامه نمونه تبدیل دما در این قسمت یک برنامه نمونه خواهیم نوشت. این برنامه یک مبدل دما از سانتیگراد به فارنهایت است. اگر خاطرتان باشد، آب در صفر درجه منجم شده و در صد درجه بخار می شود (البته بر حسب سانتی گراد) و در 32 درجه فارنهایت منجمد و در 212 درجه فارنهایت به بخار تبدیل می شود. خوب حالا میشه به راحتی درجه سانتیگراد رو به درجه فارنهایت تبدیل کرد. مقیاس تبدیل ما همین درجه انجماد و بخار است که برابر با 100 درجه سانتی گراد و 180 درجه فارنهایت است، پس مقیاس تبدیل ما برابر با 100/180 یا 5/9 است. و چون آب در 32 درجه فارنهایت منجمد می شود پس 32 درجه دیگر اختلاف خواهیم داشت. در نتیجه: C=(F-32)*5/9 F=5/9*C+32 ما در برنامه این امکان را به کاربر می دهیم تا درجه حرارت مورد نظر خود را وارد نمایید و سپس مشخص کند که به کدام واحد تبدیل شود. در آخر با زدن دکمه تبدیل (Convert) عمل تبدیل واحد صورت می گیرد. تصویر این برنامه را در شکل زیر می بینید: این هم کد برنامه تبدیل: // LIST 1 برای ایجاد یک کلاس در محیط ویژوال استدیو از منوی Project گزینه Add class را انتخاب می کنیم. وقتی که نامی را برای کلاس انتخاب می کنیم، ویژوال استدیو کلاسی را با همان نام و با محتویات خالی ایجاد می نماید. بطور مثال اگر نام فایل را Temprature انتخاب کنیم کدی مانند کد زیر توسط ویژوال استدیو ایجاد می شود: // LIST 2 // LIST 3 // LIST 4 با این روش پیاده سازی می توانیم تغییرات مورد نیاز را بدون اینکه کاربر از داخل کلاس اطلاعاتی داشته باشد را اعمال کنیم. برای مثال می خواهیم تبدیل کلوین رو هم اضافه کنیم. درجه حرارت صفر کلوین معادل 273.16- درجه سانتیگراد است که به معنای پایین ترین درجه حرارت ممکن است. که در آن هیچ جسمی حرکت نخواهد کرد. مقدار مقیاس کلوین مشابه سانتیگراد است و در نتیجه برای محاسبه کافیست کلوین با درجه حرارت جمع شود تا معادل سانتیگراد آن بدست آید. // LIST 5 تمامی حکم ها داخل کلاس قرار می گیرند بهترین روشی رو که میشه استفاده کرد تا کاربر از هر پیچیدگی بدور باشد، استفاده از کلاس هست. خوب بهترین حالت ممکن هم این هست که کاربر بدون درنظر گرفتن کد داخل کلاس، کد مربوط به تبدیل رو در رویداد کلیک دکمه تبدیل می نویسه. // LIST 6 /// LIST 7 تگهای فارسی: مهدی ریزوندی، سی شارپ، سي شارپ، کلاس، شی، عمومی، خصوصی، روال، تابع، متد، برنامه نویسی، کد نمونه، سازنده، نمونه شی، سانتیگراد، فارنهایت، برنامه مبدل واحد دما
English Tags: Mehdi Rizvandi, Csharp, C sharp, C#, Class, Object, Public, Private, Subroutin, Function, Method, Programming, Sample Code, Source Code, Constructor, Instance, Celesuis, Fahrenhiet, Converting Tempratue Program
+
نوشته شده در یکشنبه هشتم مهر 1386ساعت 8:32 توسط کنستانتین
|
|

