چگونگی ایجاد کلاس در سی شارپ

بعد از اینکه در جلسه اول با مفاهیم برنامه نویسی شی گرا آشنا شدیم حالا لازم است که به ایجاد کلاس در سی شارپ بپردازیم. یک کلاس که از روی آن شی ایجاد می شود 2 بخش بیشتر ندارد:

  1. Attribute: که به آن اجزای داده ای می گوییم.
  2. Method : که به آن اجزاء تابعی می گوییم.

ماشین را در نظر می گیریم: Car Class

ایجاد کلاس در سی شارپ

برای یک ماشین اجزاء داده ای شامل رنگ ماشین، مدل ماشین، تعداد درها، تعداد لاستیک ها و …. می باشد.

 

و اجزاء تابعی یا رفتارها شامل روشن شدن،خاموش شدن،حرکت کردن، سرعت گرفتن و…. می باشد.

که بعداً متوجه می شوید Attribute ها دو نوع هستند:

  1. یا فیلد هستند که واقعاً یک مقداری را ذخیره کرده اند.
  2. یا Property هستند که یک وضعیت را در خودشون ذخیره کرده اند .

Method ها یا رفتارها می توانند تقسیم بشوند به:

  1.  ایونت ها (event ها) :ایونت ها آن متدهایی هستند که اتوماتیک در اثر یک واکنش بیرونی Run می شوند.
  2. اجزاء تابعی که ما باید فراخوانی کنیم (به کمک همین ایونت ها می توانیم با سایر اشیاء ارتباط برقرار کنیم.)

نحوه ایجاد کلاس در ویندوز فرم

برای ایجاد کلاس در سی شارپ ، ابتدا یک پروژه جدید ایجاد می کنیم و نامی را برای آن در نظر می گیریم.

ایجاد کلاس در سی شارپ

بر روی نام پروژه ی برنامه راست کلیک کرده و گزینه Add را می زنیم:

ایجاد کلاس در سی شارپ

دو راه داریم یا اینکه مستقیم روی گزینه ی Class کلیک کنیم و یا از New item داخل پنجره ای که باز می شود گزینه ی Class را انتخاب و نام کلاسمون را مشخص کنیم(طراحی کلاس ماشین) و بعد روی Add کلیک کنیم.

 پسوند .CS مشخصه ی فایل سی شارپ است.

ایجاد کلاس در سی شارپ

کلاس Car طبق پنجره ی فوق باز می شود.

کلمه ی کلیدی کلاس برای تعریف کلاس است .کلمات کلیدی با رنگ آبی مشخص شده اند.

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

class Car
{

فیلد: به متغیرهای داخل کلاس فیلد می گویند که حالت Object را برای ما تعیین می کنند .//

//—– فیلد ——
int id;
string nameCar;
string color;

//متد:به توابعی که داخل کلاس نوشته می شوند یعنی در واقع رفتار شی را مشخص می کنند توابع می گویند

//—– توابع ——

void SelectCar()

{
}
}

ما در اینجا آمدیم تمام مشخصاتی که برای ماشین بود داخل یک کلاس نوشتیم مثل نامش٬ رنگش ٬ رفتارش …

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

Car C = new Car ( );

تا اینجا به صورت مختصر با ایجاد کلاس در سی شارپ را آشنا شدیم،در ادامه میخواهیم مفاهیم را در قالب یک نمونه کاربردی از ایجاد کلاس در سی شارپ دنبال کنیم.

یک نمونه کاربردی از کلاس 

قبل از این که شروع کنم بگویم که مهم نیست از چه زبان برنامه نویسی استفاده می کنید این مفاهیم می تواند برای هر زبانی استفاده شود.

با یک مثال شروع می کنیم Student را در نظر می گیریم. ابتدا یک پروژه جدید ایجاد می کنیم و یک کلاس برای Student ایجاد می کنیم:

ایجاد کلاس در سی شارپ

ایجاد کلاس در سی شارپ

ایجاد کلاس در سی شارپ

کلاس Student طبق پنجره فوق برای ما ایجاد می شود. هم اکنون باید در نظر بگیریم که یک دانشجو چه چیزهایی دارد :

یک دانشجو کد دارد، نام دارد، نام خانوادگی دارد، سن دارد و…

یک دانشجو یک سری رفتار هم دارد مثلا رفتار انتخاب درس و …

class Student

{

//فیلدها
int ID;
string Name;
string LastName;

//متد
void SelectCourse()
{
}

}

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

بر روی فرم می رویم و یک کنترل Button را روی فرم قرار می دهیم:

ایجاد کلاس در سی شارپ

private void button1_Click(object sender, EventArgs e)

{

Student ObjStudent = new Student();

این رو بهش میگوییم Object یا نمونه سازی//

نکته:اگر بعد از اینکه new را نوشتید دو تا Space بزنید خودبه خود سی شارپ اسم کلاس را تایپ می کند//

}

کلمه کلیدی class برای تعریف کلاس است و کلمه کلیدیnew برای تعریف نمونه ساختن از کلاس است.

نکته:در کلاس تا ما new نکنیم که شی ساخته شود فضا به آن اختصاص داده نمی شود.

الان می خواهم به متغیرهای داخل کلاس دسترسی داشته باشم برای این کار با نوشتن Object ساخته شده از این کلاس و نوشتن دات( . ) به فیلدها و متدها می توانم دسترسی پیدا کنیم:

ایجاد کلاس در سی شارپ

امّا مشاهده می کنیم که هیچ کدام از آنها نیستند، اینجا یک نکته دارد خوب دقت کنید 3 تا سطوح دسترسی داریم:

Public -1: عمومی

:Private -2 خصوصی

Protected-3 : اینجا در مورد آن توضیح نمی دهم چون در ارث بری خودش را نشان می دهد در آنجا Protected را معرفی می کنم.

اگر بخواهیم خارج از کلاس به متغیرها و توابع یک کلاس دسترسی پیدا کنیم از کلمه Public قبل از نام متغیرها و توابع استفاده می کنیم

وقتی هیچ کدام از سطوح دسترسی را ننویسیم به صورت پیش فرض آنها خصوصی(Private)هستند.

فیلد ID را public در نظر می گیریم و Name و LastName را Private تا ببینیم چه اتفاقی می افتد:

class Student
{

public int ID;
private string Name;
private string LastName;

void SelectCourse()

{

}

}

پنجره فرم را باز می کنیم و داخل رویداد Click کنترل button یک نمونه از کلاس ایجاد می کنیم، می خواهیم ببینیم که آیا به فیلدها و متدها می توانیم دسترسی داشته باشیم:

ایجاد کلاس در سی شارپ

مشاهده می کنیم که به فیلد ID دسترسی داریم چون سطح دسترسی آن را Public در نظر گرفتیم، الان سطح دسترسی Name و LastName را به Public تغییر می دهیم:

public int ID;

public string Name;

public string LastName;

ایجاد کلاس در سی شارپ

private void button1_Click(object sender, EventArgs e)

{

Student ObjStudent = new Student();

ObjStudent.ID = 1;

ObjStudent.Name = “Ali”;

ObjStudent.LastName = “Nik”;

MessageBox.Show(ObjStudent.ID.ToString()+”:”+ ObjStudent.Name+” “+ObjStudent.LastName );

}

برنامه را اجرا می کنیم و روی button1 کلیک می کنیم:

ایجاد کلاس در سی شارپ

 

برای توابع داخل کلاس هم فرقی نمی کند آن را Public در نظر می گیریم:

public void SelectCourse()

{

}

برای اینکه تابع را هم به شما نشان دهم یک MessageBox داخل آن می نویسم امّا این نکته را باید بگویم که هیچ موقع داخل کلاس از MessageBox استفاده نمی کنیم من در اینجا برای اینکه فراخوانی متد را هم مشاهده کنید از MessageBox استفاده می کنیم.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//است using System.Windows.Forms داخل MessageBox

using System.Windows.Forms;

//————————————

namespace Session4_OOP

{
class Student
{
public int ID;
public string Name;
public string LastName;
public void SelectCourse()
{

        MessageBox.Show(“Object Oriented Programming”);
}
}
}

روی فرم یکی دیگر کنترل Button قرار می دهیم:

private void button2_Click(object sender, EventArgs e)

{
Student ObjStudent = new Student();
ObjStudent.SelectCourse();

}

برنامه را اجرا می کنیم:

ایجاد کلاس در سی شارپ

نکته: هر اندازه ای که بخواهیم می توانیم از کلاس نمونه بسازیم.

 

پروژه محاسبه مساحت و محیط

برای درک بهتر ، سورس کد پروژه محاسبه ی مساحت و محیط مثلث و مستطیل ضمیمه گردید ، شما می توانید روی آن کلیک کنید  :

پیش نمایشی از اجرای این برنامه به شکل زیر است:

 

آموزش کلاس در سی شارپ - محاسبه محیط و مساحت مستطیل و مثلث

امیدواریم از آموزش ایجاد کلاس در سی شارپ لذت برده باشید و مفاهیم را کاملا درک کرده باشید. در جلسه بعد به مثال پروژه ساده ماشین حساب می پردازیم. با ما همراه باشید.

به این مقاله چند تا ستاره میدی؟
[تعداد رای: 44 امتیاز: 4.2]