دانلود نرم افزار - آموزش سی شارپ
دانلود نرم افزار - آموزش سی شارپ

دانلود نرم افزار - آموزش سی شارپ

محتویات یک کلاس در سی شارپ

محتویات یک کلاس در سی شارپ :

یک کلاس می تواند دارای هر کدام از 14 مورد زیر باشد که بعضی ضروری و برخی اختیاری یک کلاس می باشند .

1 . Constructors                                  سازنده ها

2 . Constants                                      ثابت ها

3 . Fields                                            فیلدها  ( متغیرها )

4 . Finalizers ( Destructors )       نهایی کننده ها یا ( مخرب ها )

5 . Methods                                       روش ها

6 . Properties                                     ویژگی ها

7 . Indexers                                        ایندکسرها

8 . Operators                                     عملگرها

9 . Events                                           رویدادها

10 . Delegates                                    نمایندگان

11 . Classes                                        کلاس ها

12 . Interfaces                                   رابط ها

13 . Structs                                        ساختارها

14 . Enumerations                       نوع شمارشی

کلاس استاتیک static class

در این بخش به یک کلاس استاتیک می پردازیم کلاس استاتیک کلاسی است که اولا همه اعضاء آن باید استاتیک باشند ثانیا برای دسترسی به اعضاء یک کلاس استاتیک لازم نیست تا یک نمونه از آن کلاس ساخته شود بلکه فقط به کمک نوشتن نام کلاس و پس از آن عملگر نقطه به تمام اعضاء کلاس دسترسی پیدا می کنیم در ادامه متن کامل یک کلاس استاتیک به همراه نحوه کاربرد آن آمده

using System;

namespace StaticClassTest {   

static class MathFunction

{   //معکوس عدد را برمی گرداند

static public double reciprocal(double num) {    return 1 / num;    }

//قسمت اعشاری عدد را برمی گرداند

static public double fracPart(double num) {    return num - (int)num;  }

//اعداد زوج را برمی گرداند

static public bool isEven(double num) {   return (num % 2) == 0 ? true : false; }

//اعداد فرد را برمی گرداند

static public bool isOdd(double num) {    return !isEven(num);  } }

class MainClass {  

public static void Main()

Console.WriteLine("Reciprocal of 5 is " + MathFunction.reciprocal(5.0));    

Console.WriteLine("Fractional part of 4.234 is " + MathFunction.fracPart(4.234));      

if (MathFunction.isEven(10))         Console.WriteLine("10 is even.");     

if (MathFunction.isOdd(5))           Console.WriteLine("5 is odd.");     

Console.ReadLine();  } } }

کلاس - Class

کلاس: Class

کلاس در برنامه‌نویسی شیءگرا یک ساختار یا الگو (Template) است که ویژگی‌ها (داده‌ها) و رفتارها (عملیات یا متدها) یک موجودیت را تعریف می‌کند. از کلاس می‌توان برای ایجاد نمونه‌های قابل استفاده (اشیاء) استفاده کرد یا به‌صورت استاتیک برای سازمان‌دهی کدها و ارائه قابلیت‌های مستقل از نمونه‌سازی به کار برد. کلاس همچنین امکاناتی مثل وراثت (Inheritance)، کپسوله‌سازی (Encapsulation) و چندریختی (Polymorphism) را فراهم می‌کند تا کد سازمان‌یافته‌تر، قابل‌استفاده مجدد و انعطاف‌پذیرتر شود.

یک کلاس دارای اعضایی است که به دو دسته کلی تقسیم می‌شوند:

داده‌ها: شامل فیلدها (Fields) و خصوصیات (Properties) هستند که اطلاعات مربوط به شیء را نگه می‌دارند.

عملکردها: شامل متدها (Methods) و رویدادها (Events) هستند که رفتارها یا عملیات شیء را تعریف می‌کنند.

به‌صورت نمادین:

کلاس = {داده‌ها (فیلدها و خصوصیات) + عملکردها (متدها و رویدادها)}

یک کلاس با استفاده از کلیدواژه class، به دنبال آن یک نام برای کلاس و سپس دو کروشه {} تعریف می‌شود. در مثال زیر، کلاسی به نام MyClass تعریف شده که هنوز هیچ عضوی ندارد و در نتیجه فعلاً کاری انجام نمی‌دهد:

class MyClass

{

}

کانستراکتور (Constructor)

هر کلاس می‌تواند یک یا چند سازنده (Constructor) داشته باشد. سازنده متدی خاص است که هنگام ایجاد نمونه‌ای از کلاس به‌صورت خودکار اجرا می‌شود و معمولاً برای مقداردهی اولیه به داده‌های شیء استفاده می‌شود. اگر شما هیچ سازنده‌ای به‌صورت صریح تعریف نکنید، کامپایلر C# به‌طور خودکار یک سازنده پیش‌فرض (Default Constructor) بدون پارامتر ایجاد می‌کند که هیچ عملی جز ساخت شیء انجام نمی‌دهد.

سازنده با تعیین سطح دسترسی (مثلاً public)، نامی دقیقاً مشابه نام کلاس و علامت () تعریف می‌شود و می‌تواند با پارامتر یا بدون پارامتر باشد. در مثال زیر، سازنده کلاس MyClass بدون پارامتر است:

class MyClass

{

    public MyClass()

    {

        // اینجا می‌توانید کد مقداردهی اولیه بنویسید

    }

}

توجه: برخلاف برخی تصورات، سازنده را نمی‌توان پس از ساخت شیء به‌صورت دستی فراخوانی کرد. سازنده فقط هنگام نمونه‌سازی (با کلیدواژه new) اجرا می‌شود. اگر نیاز به اجرای کد خاصی بعد از ساخت شیء دارید، باید از متدهای معمولی استفاده کنید.

دسترسی به اعضای کلاس

برای دسترسی به اعضای یک کلاس (چه داده‌ها و چه عملکردها)، معمولاً باید ابتدا یک نمونه (Object) از آن کلاس بسازید و سپس از طریق آن نمونه به اعضایش دسترسی پیدا کنید. البته اعضای استاتیک (Static) نیازی به نمونه‌سازی ندارند و مستقیماً از طریق نام کلاس قابل دسترسی‌اند.

در مثال زیر، کلاسی به نام MyClass تعریف شده که شامل یک فیلد غیراستاتیک (nonStaticVariable)، یک فیلد استاتیک (staticVariable) و دو متد است:

using System;

namespace ClassTest

{

    class Program

    {

        class MyClass

        {

            int nonStaticVariable;    // متغیر غیراستاتیک (هر شیء مقدار خودش را دارد)

            static int staticVariable; // متغیر استاتیک (مشترک بین همه اشیاء)

 

            public void SetVars(int v1, int v2)

            {

                nonStaticVariable = v1;

                staticVariable = v2;

            }

 

            public void Display()

            {

                Console.WriteLine("nonStaticVariable = {0}  staticVariable = {1}", nonStaticVariable, staticVariable);

                Console.ReadKey();

            }

        }

         static void Main()

        {

            MyClass d1 = new MyClass(); // ساخت نمونه اول

            MyClass d2 = new MyClass(); // ساخت نمونه دوم

 

            d1.SetVars(2, 4);

            d1.Display(); // نمایش مقادیر d1

 

            d2.SetVars(15, 17);

            d2.Display(); // نمایش مقادیر d2

        }

    }

}

توضیح مثال:

دو نمونه (d1 و d2) از کلاس MyClass ساخته شده‌اند.

متد SetVars برای هر نمونه مقادیر متفاوتی ست کرده است.

چون nonStaticVariable غیراستاتیک است، هر نمونه مقدار خودش را نگه می‌دارد.

اما staticVariable استاتیک است و بین همه نمونه‌ها مشترک است، بنابراین آخرین مقدار تنظیم‌شده (17) برای هر دو نمونه نمایش داده می‌شود.

خروجی برنامه:

nonStaticVariable = 2                                         staticVariable = 4

nonStaticVariable = 15                                      staticVariable = 17