کلاس (Class) در سیشارپ
کلاس (Class) در سیشارپ قالبی برای تعریف دادهها و رفتارهای مرتبط است که با استفاده از آن اشیاء را در برنامه مدلسازی می کنند.
12 دی 1403
لینک کوتاه
تعریف کلاس (Class) در سیشارپ
کلاس در سیشارپ یک ساختار شیءگرا است که به شما اجازه میدهد موجودیتهای دنیای واقعی یا انتزاعی را مدلسازی کنید.
این مدلسازی شامل تعریف ویژگیها (مانند نام و مقدار) و رفتارها (مانند عملیات یا متدها) است.
به زبان ساده، کلاس قالبی است که برای ایجاد اشیاء استفاده میشود و از آن برای سازماندهی کد و مدیریت دادهها در برنامههای بزرگ بهره میگیرند.
هر کلاس میتواند دادههای خاصی را ذخیره کرده و رفتارهایی مرتبط با این دادهها ارائه دهد.
علاوه بر این، کلاسها در سیشارپ قابلیتهایی مانند کپسولهسازی (Encapsulation) و ارثبری (Inheritance) را فراهم میکنند.
این ویژگیها به توسعهدهندگان کمک میکنند تا برنامههایی انعطافپذیر، قابل نگهداری و مقیاسپذیر طراحی کنند.
به عنوان مثال، با استفاده از کپسولهسازی میتوانید دسترسی به دادهها را مدیریت کرده و امنیت آنها را تضمین کنید.
کلاسها همچنین با متدهایی مانند سازندهها، امکان مقداردهی اولیه و پیکربندی اشیاء را فراهم میکنند.
در سیشارپ، کلاس با کلمه کلیدی class تعریف میشود. ساختار کلی تعریف یک کلاس به شکل زیر است:
class ClassName
{
// فیلدها (Fields)
// ویژگیها (Properties)
// متدها (Methods)
// سازندهها (Constructors)
}
تعریف ساده یک کلاس
مثال:
ایجاد کلاسی به نام Car که ویژگیهای یک ماشین را مدلسازی میکند.
class Car
{
public string Brand; // برند خودرو
public string Model; // مدل خودرو
public int Year; // سال ساخت
// متدی برای نمایش اطلاعات خودرو
public void DisplayInfo()
{
Console.WriteLine($"Brand: {Brand}, Model: {Model}, Year: {Year}");
}
}
مفهوم شیء (Object) در سی شارپ
شیء (Object) در سیشارپ، نمونهای از یک کلاس است که به شما امکان میدهد از ساختار و رفتار تعریفشده در کلاس استفاده کنید.
به عبارت دیگر، شیء نمایانگر یک موجودیت واقعی یا مجازی است که دادههای مرتبط با خود (مانند ویژگیها) و رفتارهای مشخصی (مانند متدها) دارد.
هر شیء فضای حافظه مستقلی دارد و میتواند مقادیر خاص خود را ذخیره کند، حتی اگر از یک کلاس مشترک ساخته شده باشد.
ایجاد شیء با استفاده از کلمه کلیدی new انجام میشود.
به عنوان مثال، اگر کلاسی به نام Car داشته باشید، یک شیء میتواند یک ماشین خاص با برند، مدل، و سال تولید مشخص باشد.
با اشیاء میتوان کد را سازماندهی کرده و از قابلیتهای برنامهنویسی شیءگرا مانند ارثبری و چندریختی استفاده کرد.
مثال ایجاد یک شیء از کلاس Car:
Car myCar = new Car();
myCar.Brand = "Toyota";
myCar.Model = "Corolla";
myCar.Year = 2020;
myCar.DisplayInfo();
خروجی:
Brand: Toyota, Model: Corolla, Year: 2020
اجزای اصلی یک کلاس در سیشارپ
-
فیلدها (Fields)
متغیرهایی هستند که دادههای مرتبط با کلاس را ذخیره میکنند.
public int Age;
-
ویژگیها (Properties)
برای مدیریت دسترسی به فیلدها استفاده میشوند و اغلب شامل متدهای get و set هستند.
public int Age { get; set; }
-
متدها (Methods)
برای تعریف رفتارهای کلاس استفاده میشوند.
public void Speak()
{
Console.WriteLine("Hello!");
}
-
سازندهها (Constructors)
متدهایی خاص هستند که برای مقداردهی اولیه به اشیاء هنگام ایجاد استفاده میشوند.
public Car(string brand, string model, int year)
{
Brand = brand;
Model = model;
Year = year;
}
🌟 آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
ویژگیهای کلاس در سیشارپ
-
Encapsulation (کپسولهسازی)
با استفاده از کپسولهسازی، دادهها و رفتارها را در یک کلاس مخفی میکنید و تنها از طریق واسطهای مشخص (Properties و Methods) به آنها دسترسی میدهید.
class Person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
-
Inheritance (ارثبری)
سیشارپ از ارثبری برای اشتراکگذاری ویژگیها و رفتارهای کلاس والد با کلاس فرزند استفاده میکند.
class Animal
{
public void Eat()
{
Console.WriteLine("Eating...");
}
}
class Dog : Animal
{
public void Bark()
{
Console.WriteLine("Barking...");
}
}
-
Polymorphism (چندریختی)
به کلاسها اجازه میدهد که از متدها و رفتارها به روشهای مختلف استفاده کنند.
class Animal
{
public virtual void Speak()
{
Console.WriteLine("Animal speaks.");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Dog barks.");
}
}
-
Abstraction (انتزاع)
با استفاده از کلاسهای انتزاعی (abstract) میتوانید فقط اسکلت اصلی یک کلاس را تعریف کنید و پیادهسازی آن را به کلاسهای فرزند واگذار کنید.
abstract class Shape
{
public abstract void Draw();
}
class Circle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a circle.");
}
}
دسترسیها در کلاس در سی شارپ
سیشارپ از سطوح دسترسی (Access Modifiers) برای کنترل میزان دسترسی به اعضای کلاس استفاده میکند:
-
public
اعضای کلاس برای همه قابل دسترسی هستند. -
private
اعضای کلاس فقط در داخل خود کلاس قابل دسترسی هستند. -
protected
اعضای کلاس برای کلاسهای فرزند نیز قابل دسترسی هستند. -
internal
اعضای کلاس فقط در داخل همان اسمبلی قابل دسترسی هستند.
مثال
class BankAccount
{
private string accountHolder;
private double balance;
// سازنده
public BankAccount(string holder, double initialBalance)
{
accountHolder = holder;
balance = initialBalance;
}
// ویژگی برای دسترسی به نام صاحب حساب
public string AccountHolder
{
get { return accountHolder; }
set { accountHolder = value; }
}
// متدی برای واریز وجه
public void Deposit(double amount)
{
balance += amount;
Console.WriteLine($"Deposited: {amount}. New Balance: {balance}");
}
// متدی برای برداشت وجه
public void Withdraw(double amount)
{
if (amount > balance)
{
Console.WriteLine("Insufficient funds!");
}
else
{
balance -= amount;
Console.WriteLine($"Withdrew: {amount}. Remaining Balance: {balance}");
}
}
// متدی برای نمایش مانده حساب
public void DisplayBalance()
{
Console.WriteLine($"Account Holder: {accountHolder}, Balance: {balance}");
}
}
// استفاده از کلاس
BankAccount myAccount = new BankAccount("John Doe", 1000);
myAccount.Deposit(500);
myAccount.Withdraw(300);
myAccount.DisplayBalance();
کلاسها در سیشارپ ابزاری قدرتمند برای طراحی و پیادهسازی برنامههای شیءگرا هستند.
آنها امکان مدلسازی دادهها و رفتارهای مرتبط را در یک ساختار واحد فراهم میکنند.
با استفاده از ویژگیهایی مانند ارثبری، کپسولهسازی، چندریختی، و انتزاع میتوانید برنامههای قابل نگهداری و مقیاسپذیر بسازید.
درک عمیق از کلاسها به شما کمک میکند که برنامههای خود را بهینهتر و مؤثرتر طراحی کنید.
مثال کاربردی کلاس (Class) در سیشارپ
مثال: سیستم کتابخانه
فرض کنید میخواهید سیستمی ساده برای مدیریت اطلاعات کتابها در یک کتابخانه ایجاد کنید.
این کلاس اطلاعات کتاب را ذخیره میکند و متدی برای نمایش آن ارائه میدهد.
class Book
{
public string Title { get; set; }
public string Author { get; set; }
public int Year { get; set; }
// متدی برای نمایش اطلاعات کتاب
public void DisplayInfo()
{
Console.WriteLine($"Title: {Title}, Author: {Author}, Year: {Year}");
}
}
// استفاده از کلاس
Book myBook = new Book
{
Title = "1984",
Author = "George Orwell",
Year = 1949
};
myBook.DisplayInfo();
خروجی:
Title: 1984, Author: George Orwell, Year: 1949
این مثال نشان میدهد چگونه میتوانید اطلاعات یک کتاب را ذخیره و بهسادگی نمایش دهید.




کاربران ما
شما هم نظرتون با ما دریاره “کلاس (Class) در سیشارپ” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید