دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
اصول و استانداردهای حسابداری و انبارداری
1403/10/19 -
اعضای Static و Instance در سی شارپ
1403/10/18 -
اصول طراحی نرمافزارهای تجاری
1403/10/17 -
توابع منطقی در SQL Server
1403/10/16 -
تخریب کننده ها (destructors) در سی شارپ
1403/10/15
اعضای Static و Instance در سی شارپ
اعضای Static و Instance در سیشارپ
اعضای Static و Instance در سیشارپ به دو نوع متفاوت از اعضای کلاس اشاره دارند که هرکدام کاربرد خاص خود را دارند.
اعضای Static به کل کلاس وابستهاند و برای دسترسی به آنها نیازی به ایجاد شیء نیست.
این اعضا معمولاً برای دادههای مشترک بین تمام اشیاء یک کلاس، مانند تنظیمات کلی، شمارندهها یا متدهای مستقل، استفاده میشوند.
حافظه اعضای Static تنها یک بار تخصیص داده میشود و از طریق نام کلاس قابل دسترسی هستند.
اعضای Instance اما به اشیاء خاص کلاس وابستهاند و برای هر شیء بهطور جداگانه در حافظه ذخیره میشوند.
این اعضا معمولاً برای نگهداری دادههای منحصربهفرد یا رفتارهای خاص هر شیء طراحی شدهاند.
دسترسی به اعضای Instance نیازمند ایجاد یک نمونه از کلاس است و این اعضا میتوانند رفتارها و اطلاعات خاص هر شیء را مدیریت کنند.
ترکیب اعضای Static و Instance در یک برنامه، امکان مدیریت دادههای مشترک و خاص را به شکلی کارآمد و انعطافپذیر فراهم میکند.
اعضای Static در سیشارپ
اعضای Static به اعضایی گفته میشود که به یک کلاس وابسته هستند، نه به یک شیء خاص از آن کلاس.
این بدان معناست که شما برای دسترسی به اعضای Static نیازی به ایجاد نمونه (Instance) از کلاس ندارید.
این اعضا در سطح کلاس تعریف شده و در تمام برنامه مشترک هستند.
ویژگیهای اعضای Static
-
مستقیماً با استفاده از نام کلاس قابل دسترسی هستند.
-
حافظهای که برای آنها در نظر گرفته میشود، فقط یک بار در طول اجرای برنامه تخصیص داده میشود.
-
میتوان از اعضای Static برای نگهداری دادههایی استفاده کرد که بین تمام اشیاء یک کلاس مشترک هستند.
🌟 آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
تعریف اعضای Static
برای تعریف اعضای Static، از کلمه کلیدی static در سیشارپ استفاده میکنیم. مثال:
public class Calculator
{
public static int Add(int a, int b)
{
return a + b;
}
public static double Pi = 3.14;
}
نحوه استفاده از اعضای Static
برای دسترسی به اعضای Static، از نام کلاس استفاده میکنیم:
int result = Calculator.Add(5, 10);
double valueOfPi = Calculator.Pi;
کاربردهای اعضای Static در سی شارپ
-
مدیریت دادههای مشترک
میتوانید مقادیری مانند ثابتها (Constants) یا تنظیمات برنامه را به صورت Static ذخیره کنید. -
ایجاد توابع ابزار (Utility Functions)
متدهای محاسباتی یا کمکی که نیاز به وابستگی به نمونه ندارند، میتوانند Static باشند.
اعضای Instance در سی شارپ
اعضای Instance بر خلاف اعضای Static به اشیاء خاصی از یک کلاس وابسته هستند.
این اعضا برای هر نمونه از کلاس جداگانه ایجاد میشوند و دادههای اختصاصی مربوط به هر شیء را مدیریت میکنند.
ویژگیهای اعضای Instance
-
برای دسترسی به اعضای Instance، باید ابتدا یک شیء (Instance) از کلاس ایجاد کنید.
-
حافظه برای این اعضا به ازای هر شیء به صورت جداگانه تخصیص داده میشود.
-
این اعضا میتوانند دادههای مستقل مربوط به هر شیء را مدیریت کنند.
تعریف اعضای Instance
اعضای Instance بدون استفاده از کلمه کلیدی static تعریف میشوند. مثال:
public class Person
{
public string Name;
public int Age;
public void Introduce()
{
Console.WriteLine($"Hi, I'm {Name} and I'm {Age} years old.");
}
}
نحوه استفاده از اعضای Instance
برای دسترسی به اعضای Instance، ابتدا باید یک شیء از کلاس ایجاد کنید:
Person person = new Person();
person.Name = "John";
person.Age = 30;
person.Introduce();
کاربردهای اعضای Instance در سی شارپ
-
مدیریت دادههای اختصاصی هر شیء
اطلاعاتی که به هر شیء جداگانه تعلق دارند، باید به عنوان اعضای Instance تعریف شوند. -
پیادهسازی رفتارهای مرتبط با اشیاء
متدهایی که باید بر اساس دادههای شیء عمل کنند، باید Instance باشند.
ترکیب اعضای Static و Instance در یک کلاس
گاهی اوقات نیاز است که در یک کلاس، هم اعضای Static و هم Instance داشته باشیم. این ترکیب معمولاً برای مدیریت دادههای مشترک و اختصاصی کاربرد دارد.
مثال:
public class BankAccount
{
public static int TotalAccounts = 0; // مقدار مشترک
public string AccountHolder; // مقدار مخصوص هر حساب
public BankAccount(string holder)
{
AccountHolder = holder;
TotalAccounts++;
}
public void DisplayInfo()
{
Console.WriteLine($"Account Holder: {AccountHolder}");
Console.WriteLine($"Total Accounts: {TotalAccounts}");
}
}
نحوه استفاده:
BankAccount account1 = new BankAccount("Alice");
BankAccount account2 = new BankAccount("Bob");
account1.DisplayInfo();
account2.DisplayInfo();
خروجی:
Account Holder: Alice
Total Accounts: 2
Account Holder: Bob
Total Accounts: 2
نکات مهم در مورد اعضای Static و Instance
-
عدم دسترسی مستقیم به اعضای Instance در متدهای Static
متدهای Static نمیتوانند مستقیماً به اعضای Instance دسترسی پیدا کنند زیرا به شیء خاصی وابسته نیستند.
مثال نادرست:
public static void Test()
{
Console.WriteLine(AccountHolder); // خطا
}
-
زمانبندی عمر (Lifetime)
اعضای Static تا پایان اجرای برنامه در حافظه باقی میمانند، اما اعضای Instance پس از نابودی شیء حذف میشوند. -
ترکیب با الگوهای طراحی
در الگوهایی مانند Singleton، از اعضای Static برای کنترل ایجاد تنها یک نمونه از کلاس استفاده میشود. -
افزایش خوانایی و کارایی
استفاده مناسب از اعضای Static و Instance میتواند کارایی برنامه را افزایش داده و کد را خواناتر کند.
مثال پروژه محور اعضای Static و Instance در سی شارپ
مدیریت کاربران یک سیستم
فرض کنید میخواهیم سیستمی طراحی کنیم که تعداد کل کاربران (Static) را پیگیری کند و اطلاعات مربوط به هر کاربر (Instance) را نگهداری کند.
تعریف کلاس
public class User
{
public static int TotalUsers = 0; // عضو Static برای تعداد کل کاربران
public string Name; // عضو Instance برای نام کاربر
// سازنده کلاس
public User(string name)
{
Name = name;
TotalUsers++; // افزایش تعداد کاربران هنگام ایجاد هر شیء
}
// متد برای نمایش اطلاعات کاربر
public void DisplayUserInfo()
{
Console.WriteLine($"User Name: {Name}");
Console.WriteLine($"Total Users: {TotalUsers}");
}
}
استفاده از کلاس
class Program
{
static void Main(string[] args)
{
// ایجاد کاربران جدید
User user1 = new User("Alice");
User user2 = new User("Bob");
// نمایش اطلاعات کاربران
user1.DisplayUserInfo();
user2.DisplayUserInfo();
}
}
خروجی برنامه
User Name: Alice
Total Users: 2
User Name: Bob
Total Users: 2
توضیح
- Static: متغیر TotalUsers تعداد کل کاربران را برای تمام اشیاء نگه میدارد و بین همه اشیاء مشترک است.
- Instance: متغیر Name اطلاعات مخصوص هر کاربر را ذخیره میکند.
این مثال نشان میدهد چگونه اعضای Static و Instance میتوانند با هم کار کنند تا دادههای مشترک و اختصاصی را مدیریت کنند.
دوره های مرتبط
آموزش برنامه نویسی سی شارپ
زبان شی گرایی حرفه ای سی شارپ یک زبان قدرتمند برای طراحی نرم افزار به شمار میرود.