PDA

View Full Version : سوال: راهنمایی برای نوشتن کلاس



hana2064
چهارشنبه 19 فروردین 1388, 13:02 عصر
سلام
من تا حالا دو تا برنامه با سی شارپ نوشتم که اعمال متداولی مثل درج در بانک بازیابی -ویرایش و حذف رو انجام میده و کارهای دیگه که از هیچ کلاس خاصی استفاده نکردم البته چند تا نمونه برنامه تو همین سایت پیدا کردم که کلاس های معمولی کار با دیتابیس رو داره .
حالا میخوام خودم شروع کنم به نوشتن برنامه ای که از کلاسهای بیشتری استفاده کنه اما نمیدونم چجوری باید کلاسها رو پیاده سازی کنم.
از اینکه راهنمایی میکنید ممنونم

NewFoxStudent
چهارشنبه 19 فروردین 1388, 13:34 عصر
خوب حالا چه کلاسی رو میخوای پیاده سازی کنی

hana2064
چهارشنبه 19 فروردین 1388, 13:39 عصر
خوب من تا حالا هیچ کلاسی ننوشتم میخوام با اصول نوشتن کلاسها و نحوه فراخونی اونها تو برنامه اشنا بشم و کلا فرق نمیکنه چه کلاسی . کلاس کار با پایگاه داده یا کلاس ایجاد و نگهدای connection stringیا کلاس ایجاد کار بران و یا هر کلاس دیگه ای
اگه یه مثال کوچیک بذارین ممنون میشم

NewFoxStudent
چهارشنبه 19 فروردین 1388, 13:50 عصر
static class clsPublic
{
public static string GetPersianDate()
{
PersianCalendar perCal = new PersianCalendar();
string cdate = perCal.GetYear(DateTime.Now).ToString() + "/" +
perCal.GetMonth(DateTime.Now).ToString().PadLeft(2 , '0') + "/" +
perCal.GetDayOfMonth(DateTime.Now).ToString().PadL eft(2, '0');
return cdate;
}
public static string GetTime()
{
return DateTime.Now.ToString("HH:mm:ss");
}
}


این یه کلاس سادست که به صورت Static هم پیاده سازی شده
برای استفاده از کلاسها باید از اونها شی بسازید به عنوان مثال وقتی میخواهید یک فرم رو نمایش بدید به صورت زیر عمل میکنید



SampleForm frmsample = new SampleForm();
frmSample.Show();

خط اول یه شی از کلاس SampleForm میسازه و خط دوم متد Show() اون رو فراخوانی میکنه

متدهای Static نیازی به ساختن شی ندارن و میتون با نام خود کلاس فراخوانی بشن


System.Windows.Forms.MessageBox.Show("Message");

کلاس MessageBox یک کلاس Static

با توجه به این مسایل نحوه استفاده از کلاسی که مثال زدم به صورت زیر



clsPublic.GetPersianDate();

این دستور متد GetPersianDate رو فراخوانی میکنه

NewFoxStudent
چهارشنبه 19 فروردین 1388, 13:56 عصر
اگه همون کلاس رو به این صورت پیاده سازی کنیم



class clsPublic
{
public string GetPersianDate()
{
PersianCalendar perCal = new PersianCalendar();
string cdate = perCal.GetYear(DateTime.Now).ToString() + "/" +
perCal.GetMonth(DateTime.Now).ToString().PadLeft(2 , '0') + "/" +
perCal.GetDayOfMonth(DateTime.Now).ToString().PadL eft(2, '0');
return cdate;
}
public string GetTime()
{
return DateTime.Now.ToString("HH:mm:ss");
}
}


روش استفاده از این کلاس به صورت زیر



clsPublic clspublic = new clsPublic();
clspublic.GetPersianDate();


کلاس ها پایه ای ترین مسئاله توی C# هستند و انواع مختلفی هم دارند که نمیشه همشون رو اینجا توضیح داد ولی تمام مسائل مربوط به اون توی همین سایت به طور کامل ذکر شده
پیشنهاد میکنم اول یه اطلاعاتی راجع به شون کسب کنید و بعد نوشتن کلاسهای مورد نیازتون رو شروع کنید