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

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


نوع داده کلاس(class) در سی شارپ

قسمت دوم

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

شی (object) :

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

تفاوت کلاس و شیء

کلاس و شی دو تا چیز  متفاوت هستند. کلاس تعریف سفارشی نوع داده برای یک شی است و خودش یک شی نیست. مثل انواع داده اولیه که در زبان برنامه نویسی وجود دارد و برنامه نویس فقط از آن استفاده می کند در تعریف نوع داده کلاس  ، برنامه نویس خودش یک نوع داده تعریف می کند. حال متغیری که نوع آن ، از نوع داده کلاس باشد شی نامیده می شود.

نکته

زمانیکه یک کلاس به صورت static تعریف می شود از کلاس نمی تواند نمونه (instance )  ایجاد شود. ( در مقالات بعدی در مورد کلاس static  صحبت می شود. )

 

 تصوری از ایجاد  چندین کلاس از روی یک شی

 

 در این شکل کلاس car نمایش داده شده است که از  آن سه نمونه شی1 ، شی2 و شی 3  از روی آن ساخته شده اند .

کد مربوط به تعریف کلاس car می تواند به صورت زیر باشد :


namespace ClassStatment

{

    public class car

    {

        public string model { get; set; }

        public string  color  { get; set; }

        public string maxSpeed { get; set; }

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

        {

            this.model = model;

            this.color = color;

            this.maxSpeed = maxSpeed;        

        }

        public car()

        {
            this.model = "bmw";

            this.color = "red";

            this.maxSpeed = "300";      

        }
     }

 }

 

در این کلاس ، سه تا خصوصیت (property) با نام های : model ، color maxSpeed تعریف شده است و از دو سازنده (constructor) نیز  برای مقدار دهی به این خصوصیات  (property) استفاده شده است.

 

ایجاد یک شی از روی نوع داده کلاس در سی شارپ

مرحله بعد از تعریف کلاس (calss) و ایجاد طرح کلی ساختار مورد نظر ، ایجاد شی (object) از روی  کلاس (calss) است تا بتوانیم از این طرح کلی به صورت عملی در برنامه خود استفاده کنیم .

برای ایجاد شی (object) از نوع داده کلاس در سی شارپ ، مانند استفاده از تمام انواع اولیه ، از نام کلاس تعریف شده می توانیم به عنوان نام نوع داده یک متغیر (variable) یا نوع یک آرایه (array) و یا کالکشن (collection) استفاده کنیم . زیرا که کلاس تعریف شده،  یک نوع داده سفارشی (custom) است که توسط خود برنامه نویس ایجاد شده است .

الگوی تعریف یک شی (object)

className  objectName


مثال : تعریف یک متغیر از نوع کلاس car


static void Main(string[] args)

            {

                car oCar;             

           }

مثال : تعریف یک متغیر از نوع  داده اولیه int

static void Main(string[] args)

            {
                int  test ;

            }

 

مقدار دهی اشیا

در مثال اول یک متغیر (شی) از نوع داده کلاس car ایجاد شده است و در مثال دوم یک متغیر از نوع داده اولیه int  تعریف شده است.

برای استفاده از شی (object) تعریف شده ، مانند تمام متغیر ها از انواع دیگر ، احتیاج داریم تا آن را مقدار دهی نماییم در غیر این صورت با خطای زمان کامپایل مواجه خواهیم شد .

مثال : خطای مقدار دهی

    

static void Main(string[] args)

            {
                car oCar;

                Console.WriteLine(oCar.color);
             }


      

در کد بالا در زمان چاپ مقدار color در کلاس car با خطای زیر مواجه خواهیم شد که ناشی از عدم مقدار دهی شی (object ) ایجاد شده از  نوع کلاس car است .

برای مقدار دهی یک شی (object) نیاز به استفاده از سازنده (constructor) و کلمه کلیدی new داریم. ( برای مقدار دهی متغیر از نوع اولیه ، کافی بود تا مقدار مورد نظر را در زمان تعریف متغیر یا بعد از آن ، به آن انتساب بدهیم. )

مثال : استفاده از سازنده پیش فرض (default constructor) برای مقدار دهی اولیه شی oCar ، از  نوع داده کلاس car .

 

static void Main(string[] args)

            {
                car oCar =new car();
                Console.WriteLine(oCar.color);

            }

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

فصلِ: 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 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید