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

آموزش Class ها در سی شارپ - قسمت سوم


قسمت سوم

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

همانطور که در مقاله قبلی به آن اشاره شد ، در  برنامه نویسی شی گرا  (object oriented language) با هر چیزی مانند یک شی (object ) برخورد می شود و گفتیم برای ایجاد اشیا (objects ) در زبان های شی گرا (object oriented language) مانند سی شارپ احتیاج  به یک الگوی کلی به نام کلاس  (class) داریم و همچنین اشاره کردیم که اشیا (objects) در واقع نمونه های واقعی ساخته شده از روی کلاس هستند و می توان از روی یک کلاس چندین شی ساخت. اشیا ایجاد شده از  یک کلاس ، نمونه (instance) نیز نامیده می شوند و این نمونه ها یا اشیا می توانند در قالب یک متغیر  (variable) یا ارایه (array)  و یا کالکشن (collection) تعریف و ذخیره  شوند. همین طور اشاره شد که ،  اشیا که می توان انها را متغیر هاای از نوع داده سفارشی (custom) کلاس (class)  دانست ، قبل از استفاده باید مقدار دهی شوند و این مقدار دهی توسط سازنده ها در نوع داده کلاس در سی شارپ انجام می شود. در ادامه در مورد تعریف سازنده و استفاده از ان بیشتر  اشنا می شویم.

 تعریف سازنده (constructor) در کلاس

از  سازنده (constructor) معمولا  برای مقدار دهی متغیر های (variables) درون کلاس (class) استفاده می شود و سپس در زمان تعریف شی ، با استفاده از کلمه کلیدی new فراخوانی می شود.  هر کلاس می تواند چندین سازنده داشته باشد. سازنده متدی درون کلاس که هم نام با کلاس است ، می تواند پارامتر ورودی داشته باشد اما نوع برگشتی (return type) ندارد. بنابراین نمی توان از کلمه کلیدی  return در درون آن استفاده کرد .

مثال : تعریف یک سازنده (constructor) در بدنه یک کلاس

namespace ClassStatment

{

public class car

    {

        public string model { get; set; }

        public string color { get; set; }

        public string maxSpeed { get; set; }

        public string Manufacture { get; set; }


     //parameterized constructor

        public car(string model, string color, string maxSpeed, string Manufacture)

        {
            this.model = model;

            this.color = color;

            this.maxSpeed = maxSpeed;

            this.Manufacture = Manufacture;

        }
   }     

}

        

در مثال بالا در کلاس car ، یک سازنده (constructor) تعریف شده است ، که در بدنه آن ، با استفاده از  پارامتر­های ورودی ، متغیر­های درون کلاس ، بعد از  تعریف شی، ، مقدار دهی می شوند. پارامتر های ورودی در زمان فراخوانی سازنده با استفاده از کلمه new به آن ارسال می شوند.

استفاده از سازنده  (constructor)

همانطور که اشاره شد بعد از تعریف شی ، متد سازنده با استفاده از کلمه کلیدی new  فراخوانی می شود و مانند فراخوانی تمام متد ها، در زمان فراخوانی سازنده ای که پارامتر دارد باید پارامتر های آن ارسال شود.

 

نکته

اگر  در  یک کلاس (class) ، سازنده (constructor) تعریف نشود ، سازنده پیش فرض (default constructor) زبان برنامه نویسی ، در زمان تعریف شی و استفاده از کلمه کلیدی new ، فراخوانی می شود. در این سازنده (constructor) در تمامی متغیرها ، مقادیر پیش فرض زبان برنامه نویسی مقدار دهی می شود. به عنوان مثال در زبان شی گرای سی شارپ مقدار پیش فرض ، برای متغیر هایی از نوع داده اولیه int ، مقدار صفر است .مثال : استفاده از سازنده پیش فرض (default constructor):


namespace ClassStatment
{
    public class car

    {
        public string model { get; set; }

        public string color { get; set; }

        public string maxSpeed { get; set; }

        public string Manufacture { get; set; }  


    }

   class Program

    {
      static void Main(string[] args)

            {
                car oCar = new car();

                Console.WriteLine("color of car=" + oCar.color + " model of car ="+ oCar.model  

                                   + " maxSpeed of car ="+ oCar.maxSpeed );
            }
     }


 }

 

 در بدنه کلاس car ، هیچ نوع سازنده ای (constructor) تعریف نشده است. اما در  زمان ایجاد شی (object) سازنده کلاس car ، با استفاده از کلمه کلیدی new فراخوانی شده است . در این حالت با خطا ای مواجه نخواهیم شد زیرا که ، کامپایلر سازنده پیش فرض (default constructor)  را فراخوانی می کند و در نتیجه آن ، مقادیر پیش فرض هر نوع داده در متغیر ها جایگزین می شوند. از انجا که متغیر های تعریف شده در بدنه کلاس از نوع string هستند و  مقدار پیش فرض نوع داده string  برابر است با : "" ، مقدار چاپ شده پس از اجرای قطعه کد بالا برابر خواهد بود با :

color of car=  model of car =  maxSpeed of car =

 

نکته :

سازنده پیش فرض (default constructor) می تواند توسط خود برنامه نویس نیز نوشته شود. در این حالت سازنده (constructor) ، متدی (method) هم نام با نام کلاس و بدون پارامتر خواهد بود و مانند انواع دیگر سازنده (constructor) نوع داده برگشتی (return type) ندارد و  بدنه آن می تواند توسط برنامه نویس تعیین شود.

 انواع سازنده (constructor)  :

  • سازنده پیش فرض  (default constructor)
  • سازنده با پارامتر  (parameterized constructor)
  • سازنده استاتیک  (static constructor)
  • سازنده کپی   (copy constructor)
  • سازنده خصوصی (private constructor)

   در مورد انواع مختلف سازنده (constructor)  و مثال ها ای از هر نوع در مقاله بعدی صحبت خواهد شد .

گرد اوری : سمانه وزیریان

فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…

توضیحات کلی مجموعه:   آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…
فصلِ: 9 , تعداد قسمت ها: 59 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…

توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…
فصلِ: 13 , تعداد قسمت ها: 120 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

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

دوره صفر تا صد  آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…
فصلِ: 4 , تعداد قسمت ها: 14 , سطح: مقدماتی

این فصل در یک نگاه:

توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …

به نام خدا   بازی‌سازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازی‌ساز حرفه‌ای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…
فصلِ: 11 , تعداد قسمت ها: 92 , سطح: صفر تا صد

این فصل در یک نگاه:

اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…

مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید