جلسه یازدهم

OOP Example Part1 [ Task Included!! ]

نظرات 5 + ارسال نظر
یلدا چهارشنبه 24 خرداد 1391 ساعت 04:04 ب.ظ

با توجه به صحبت های انجام شده در کلاس کد زیر به چه دلیل خطا نداد ؟
و این تیکه کد دقیقا چه کاری انجام می دهد؟
public string ReturnCountry()
{
switch (_model)
{
case "Benz" :
// return "Germany";


case "Peugeot206" :
return "France";


default:
return "iran";
}
}
جواب:
جواب خلاصه:
با توجه به اینکه return مانند دستور break عمل می کند و توضیحاتی که در جلسه سوم کلاس داده شده مشکلی وجود ندارد و اگر مقدار case برابر Benz ویا Peugeot206 باشدتابع France را برمیگرداند و در بقیه موارد iran را برمی گرداند(البته اگر ما بخواهیم این کار را انجام بدهد). فقط اگر یک دستور return در انتهای switchداشته باشیم برنامه هیچ خطایی نمی گیرد.

جواب کامل :
دستور return یک نوع دستور پرش است شبیه دستور break ،که دو وظیفه عمده دارد.اول اجرای این تابع را خاتمه می دهدو دوم اینکه مقدار نهایی را به برنامه فراخوان بر می گرداند. دستورreturn به شکل زیر استفاده می شود :
Return expression که به جای expression هر عبارتی که بتوان مقدار آن را به یک متغییر تخصیص داد ، قرار می گیرد.نوع آن عبارت باید با نوع بازگشتی تابع یکی باشد.
اگر دو یا چند ثابت case داشته باشیم که دستوری نداشته باشند برای آنها دستورات اولین caseی که بعد از آانها قرار گرفته اجرا می شود.مثلاً
:Case 4
:Case 5
Case6: return “کوچکتراز 7”
Case 7 : return “صحیح”;
Default : return “ ???”;
اگر مقدار ما برابر 4،5 ویا6 باشد مقدار کوچکتر از7 را برمی گرداند واگر برابر 7باشد مقدارصحیح را بر می گرداند و برای بقیه موارد؟؟؟را برمی گرداند.
حداقل یک دستور return در انتهای switch الزامی است تا برنامه C# خطا نگیرد.در C#به این صورت است که به کاربر اجازه نمی دهد کد را به صورت خطا وارد کند ولی در بعضی از برنامه های دیگر لازم است که در انتهای هر Caseدستورbreak یا return قرارگیرد. بدون این دستور، اجرای برنامه پس از اینکه Caseمربوطه را اجرا کرد از دستور Switchخارج نمی شود، بلکه همه Caseهای زیرین را خط به خط می پیماید و دستورات مقابل آها را اجرا می کند. به این اتفاق تله سقوط می گویند. پس بهتر است که به جای بررسی احتمال خطا همیشه در انتهای دستورات Caseاز break یا return استفاده شود.
البته همه موارد بالا مربوط به دستورSwitchمی باشد و ربطی به شیء گرایی و کلاسها ندارد.





خیلی خوب بود یلدا
مرسی

علی پنج‌شنبه 25 خرداد 1391 ساعت 04:43 ق.ظ

با سلام و ممنون از زحمات شما
ساعت 4 و 35 دقیقه با مداد 5 شنبه است
جلوی سیستمم نشستم. میخوام کارهای جدید کنم. میخوام بتونم کد های بسیار پیشرفته تری نسبت به if و else بنویسم اما نمیتونم!
شنبه اونی که الان تو خواب نازه بازم در مورد rename تکست باکس سوال میکنه و استاد با خوش رویی جوابش رو میده
مطمئنم مهندسان و طراحان بزرگ مایکروسافت که کمپلت visual studio را طراحی کردن نه خیلی سن بیشتری نسبت به ما دارند و نه تو زندگی سختی بیشتری کشیدن. چرا ما ایرانی ها اینقد وقت تلف میکنیم؟؟!!!!!

علی مسئله ی آیتم های داخل ِ گروپ باکس رو حل کردی ؟؟
مسئله ی پاک کردن متن تکست باکس ها ؟؟
اون مثالی که گفتی اشتباه ِ یا راه حل بهتری داره ! انجامش دادی ؟؟

یلدا پنج‌شنبه 25 خرداد 1391 ساعت 11:51 ب.ظ

سلام
اومده بودم ببینم کسی درباره کلاسی که به صورت خصوصی تعریف میشه چیزی پیدا نکرده چون من نزدیکترین مطلبی که بهش دیدم فقط در ارث بری بود که یه کلاس میتونه به صورت خصوصی یا عمومی یا محافظت شده از یک کلاس ارث ببره.




برای یادآوری خودم میگم:
1)یادتان باشد سفر هزار فرسخی تنها با برداشتن اولین گام شروع می شود. (کنفوسیوس)

2)به طور کلی در هر نوع تعامل یک طرفه ای که در جنبه های مختلف زندگی با شما صورت می پذیرد، باید بدانید که این شرایط و قواعد تعامل توسط یک شخص وضع شده واز این ویژگی برخوردار است که توسط شخص دیگر(شما) تغییر کند. پس اگر خواهان پیشرفت و پویایی در همه ابعاد زندگی تان هستید هرگز به طور انفعالی و کنش پذیرانه و سر به زیرانه با پیشنهادات(یا شرایط ناخوشایند) موافقت نکنید. به علاوه یادتان باشد که جهت رسیدن به خواسته هایتان، حتماً باید آنها را به زبان بیاورید چون دیگران نه توان خواندن ترجیحات ذهن شما را دارند و نه اینکه اساسا علاقه ای به دادن حق ذاتی تان دارند ( البته در بهترین شرایط که شخص مقابل شما خیلی خوب با شد سعی میکند اول خواسته ها و شرایط خود را در نظر بگیرد بعد شما را. فکر کنم همه آدم ها اینطور باشند ).
نکته قابل توجه در این رابطه این است که تا مادامی که فرد خواسته اش را مطرح نکرده است از دست یابی به آن محروم می شود. این در حالی است که طلب کردن آشکارا می تواند موقعیت فرد را در صورت موافقت طرف ارتباطی به طور مثبت دگرگون کند و در صورتی که پاسخ منفی طرف مورد درخواست هیچ زیانی را متوجه شخص نمی کند فقط چند ثانیه از وقت شخص طلب کننده تلف شده است با توجه به این واقعیت، پس خواسته هایتان را با زبانی هر چه صریح تر برزبان آورید.


موفق و سربلند باشید

یلدا شنبه 27 خرداد 1391 ساعت 01:42 ق.ظ

باسلام
استاد خسته نباشید
یک سوال داشتم، ممنون میشوم جواب بدهید،
فکر کنم یک کلاس خصوصی فقط درون یک کلاس دیگر میتواند تعریف شود چون در غیر این صورت هیچ وقت نمی توان از آن استفاده کرد.
من یک کلا س داخل کلاسی که شما تعریف کرده بودید تعریف کردم #Cخطایی نداد. این موضوع درست است؟
خیلی ممنون

سلام
امروز سر کلاس در موردش صحبت می کنیم

علی شنبه 27 خرداد 1391 ساعت 07:46 ق.ظ

با سلام مجدد
خوبیه کلاس ما علاوه بر داشتن استادی خوش اخلاق ( برخلاف بنده که خیلی بد اخلاقم ) وجود افراد فعالی مثل خانم بلدا، محبوب و حتی آرشه.
ولی همه این مسائل فرع بر مساله اصلیه. یه کلاس آموزشی اولا و بذات برای آموزش تشکیل میش نه دوست بودن یا خندیدن یا دور هم بودن!!
فراگیری هر مطلبی در آموزشگاه هایی که بخش یا همه هزینه هاش توسط دانشجو های اون مرکز تامین میشه مستلزم پایبندی به اصول اولیه دانشجویی و نه دانش آموزی یا دانشپذیریه. دانشجو کسیه که خودش دنبال کسب علمه و نیازی به تکلیف و اجبار نداره.
اگر یه دانش آموز درسش رو خوب نخونه معلم موظفه که تلاش کنه اونو به سطح کلاس برسونه ولی تو یه سیستم آموزشی دانشجویی استاد موظفه که سرفصل های آموزشی رو از ابتدا تا انتها بیان کنه. حال چه دانشجو خودش وظایفش رو انجام بده چه نده
برهمین اساس اصولا مراکز آموزشی غیر انتفاعی یا نیمه انتفاعی در صورتیکه رسما یا عملا به شویه دانش آموزی عمل کنند هرگز موفق نخواهند بود
وقتی روش منتخب ما محتوم و مختوم به شکست است ابراز امیدواری برای موفقیت بیهوده است

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد