PDA

View Full Version : مبتدی: آیا کلاسی که برای گرفتن یک عدد نوشتم درست است؟



sahel65
سه شنبه 29 اسفند 1391, 11:12 صبح
سلام دوستان؛ من تازه کار با کلاسها رو یاد گرفتم و میخواستم یک برنامه بنویسم که از ابتدا شی گرا باشه.
این برنامه خیلی ساده ای است که فقط کار گرفتن عدد رو انجام میده؛ و بعدا ارتقاء ش می دم. میخواستم ببینم درست نوشتم؟ آخه یه جایی دیدم که برای گرفتن عدد دیگه نیومده بود کلاس بنویسه و در واقع از یک متد static استفاده کرده بود! میشه بگید کدوم بهتره و اگه بخوایم شی گرا کار کنیم مثل کدی که من نوشتم درسته؟
این هم از کدهام:


namespace ConsoleApplication7
{
class Program
{

static void Main(string[] args)
{
GetNum gtn = new GetNum();
Console.WriteLine(gtn.GetNumber("Please Enter your first Number:"));


}
}
}
اینهم از کلاسی که برای اینکار نوشتم:
namespace ConsoleApplication7
{
class GetNum
{
public int GetNumber(string message)
{
Console.Write(message);
return Convert.ToInt32(Console.ReadLine());
}
}
}

RED-C0DE
سه شنبه 29 اسفند 1391, 14:30 عصر
هدفت چیه؟
می خوای چ برنامه ای بنویسی؟

alexmcse
سه شنبه 29 اسفند 1391, 17:41 عصر
سلام
کلاسی که شما ساختید کاملا درست است
برای موفقیت در کلاس نویسی دو آیتم را باید رعایت کنی
1.کلاس های مبتنی بر 3 لایه
2 یاد گرفتن کلمات کیلیدی مثل public , privete , protecte, internal, void , .......
موفق باشید

saber_ershadi
سه شنبه 29 اسفند 1391, 18:58 عصر
کارت درسته فقط تا اینجا اگه بخوای ادامه بدی باید تغییرات تو برنامت ایجاد کنی مثلا اینکه ما باید بتونیم از کلاس هامون تو محیط های دیگه هم استفاده کنیم این کد که بصورت شئ گرا باشه فقط تو محیط کنسول جواب میده که باید تو متدی که نوشتی تغییرات بدی مثلا نمیشه برای دریافت مقدار تو FromApplication از consol.readline استفاده کرد یا تو محیط های دیگه دستور های دیگه
باید از تو متدت از Get و Set برای دریافت و برگرداندن استفاده کنی
امید وارم کمک کرده باشم

C#‎_best_Programmer
سه شنبه 29 اسفند 1391, 22:15 عصر
دادشم میشه سه لایرو توضیح بدین لطفا

sahel65
پنج شنبه 01 فروردین 1392, 18:37 عصر
هدفت چیه؟
می خوای چ برنامه ای بنویسی؟ برنامه خاصی مد نظرم نبود دوست عزیزم؛ فقط یه تمرین بود.

سلام
کلاسی که شما ساختید کاملا درست استممنونم دوست عزیزم؛ من فقط همین رو میخواستم بدونم.
لطف کردید.

باید از تو متدت از Get و Set برای دریافت و برگرداندن استفاده کنی
دوست عزیزم؛ آره میدونم که این کد فقط تو console جواب میده و نه تو widows form application !
مزیت Get و Set که شما نوشتید رو میشه بگید؟ البته ببخشید اگه سوالم تکراری هستش.

saber_ershadi
جمعه 02 فروردین 1392, 14:41 عصر
مزیت Get و Set که شما نوشتید رو میشه بگید؟ البته ببخشید اگه سوالم تکراری هستش.

میتونه اینها باشه : وابستگی به فقط یه محیط رو از بین میبره و کلاس تو جاهای دیگه هم قابل استفاده میشه،دستور به صورت شئ گرا در میاد ، میشه به عنوان یه دستور شرطی هم استفاده کرد یعنی مثلا ضلع مربع رو نمیتونی عدد منفی دریافت کنی و میتونی تو اون از شرطی استفاده کنی که این کار رو امکان پذیر نکنه مثلا

public int X
{
get
{
return x;
}
set{
x=(value>0) ? value:0;
}
}