tejariapp-new-logotejariapp-new-logotejariapp-new-logotejariapp-new-logo
  • صفحه اصلی
  • پروژه ها
    • پروژه طراحی سایت
    • پروژه های اندروید
    • پروژه های تحت ویندوز
    • UI & UX
    • ربات تلگرام
  • سفارش پروژه
    • انجام پروژه اندروید (Android)
    • طراحی و ساخت اپلیکیشن موبایل
    • انجام پروژه طراحی سایت با php
    • انجام پروژه طراحی سایت با Asp.net
    • انجام پروژه سی شارپ
    • فرم سفارش پروژه
  • مدرسه ی تجاری اپ
    • طراحی سایت
    • اندروید
    • سی شارپ
    • آموزش پایگاه داده
    • برنامه های کاربردی
  • لینک های مفید
    • پرداخت آنلاین
    • درباره تجاری اپ
    • تماس با ما
استخدام برنامه نویس متلب
سفارش پروژه
✕
            هیچ نتیجه ای یافت نشدمشاهده همه نتایج

            آموزش شی گرایی – قسمت دوم

            • صفحه نخست
            • مدرسه ی تجاری اپ آموزش سی شارپ
            • آموزش شی گرایی – قسمت دوم
            آموزش شی گرایی
            آموزش شی گرایی – قسمت اول
            10 اردیبهشت 1395
            آموزش اندروید فصل اول
            آموزش نصب اکلیپس (Eclipse)
            14 اردیبهشت 1395
            منتشر شده توسط خانم منطق
            آموزش شی گرایی

            آموزش شی گرایی

            در قسمت دوم آموزش شی گرایی در ادامه آموزش اول درباره Proeperty ها که نقش مهمی در شی گرایی دارند بیشتر صحبت میکنیم.

             آموزش شی گرایی – قسمت  دوم

            توجه : برای مشاهده تصاویر در سایز های اصلی برروی آنها کلیک کنید.

            Propertyها(خصوصیات)

            پروپرتی ها یا خصوصیات کلاس ها کار را برای ما خیلی راحت کردند بدین صورت که چنین مزیت دارند یکی اینکه به طور مستقیم میتوان به فیلد های کلاس دسنرسی پیدا کنیم و دیگری اینکه دیگر نیازی به استفاده از دستوراتی مانند write , read در بدنه کلاس نمیباشد و این ویژگی خیلی مهم میباشد بدین دلیل که شاید ما بخواهیم از فایل کلاس در سیستمی دیگر یا حتی با زبان و ورژنی دیگر از هر زبان استفاده کنیم و ممکن است زبان جدید از این سری دستورات پشتیبانی نکند به همین دلیل از پروپرتی ها ساتفاده میکنیم تا دستورات اینچنین را درون بدنه main قرار دهیم با هر زبانی اما بدنه کلاس را بتوانیم با همه زبان ها وقف دهیم.

            شکل کلی پروپرتی ها بدین صورت میباشد

            private int myVar;
            
                    public int MyProperty
            
                    {
            
                        get { return myVar; }
            
                        set { myVar = value; }
            
                    }
            

             

            در ابتدا که یک فیلد در کلاس ایجاد شده سپس برای آن فیلد پروپرتی با نام MyProperty (یا هر نام دیگری) و با نوع int در واقع نوع پروپرتی باید هم نوع متغیری باشد که میخواهیم این پروپرتی را به آن اختصاص دهیم سپس دو قسمت get , set درون بدنه آن وجود دارد که قسمت get درواقع مقدار درونی متغیر مربوطه را برمیگرداند با استفاده از دستور return و قسمت set مقداری را توسط دستور ضمنی value به متغیر میدهد.

            میتوان این بدنه را با تایپ کردن عبارت propfull و سپس فشردن دوبار کلید tab ایجاد کرد یا به صورت دستی تایپ کرد.

            ما تکه کد زیر را به قسمت کلاس برنامه اضافه کرده ایم

            double price;
            
                    public double _price
            
                    {
            
                        get { return price; }
            
                        set { price = value; }
            
                    }
            

            که همانگونه که مشخص است شی price  و پروپرتی برای آن با نام _price ایجاد شده و سپس قسمت main برنامه را چنین تغییر داده ایم

            static void Main(string[] args)
            
                    {
            
                        Product obj = new Product();
            
                        Product obj2 = new Product();
            
                        obj.Name = "T-shirt";
            
                        obj._price = 15000;
            
                        obj2.Name = "Socks";
            
                        obj2._price = 25000;
            
                        obj.str();
            
                        Console.WriteLine(obj.Name +"  " + obj._price);
            
                        obj2.str();
            
                        Console.WriteLine(obj2.Name +"  " + obj2._price);
            
                        Console.ReadKey();
            
                    }
            
            static void Main(string[] args)
            
                    {
            
                        Product obj = new Product();
            
                        Product obj2 = new Product();
            
                        obj.Name = "T-shirt";
            
                        obj._price = 15000;
            
                        obj2.Name = "Socks";
            
                        obj2._price = 25000;
            
                        obj.str();
            
                        Console.WriteLine(obj.Name +"  " + obj._price);
            
                        obj2.str();
            
                        Console.WriteLine(obj2.Name +"  " + obj2._price);
            
                        Console.ReadKey();
            
                    }
            

            که تغییر چندانی ایجاد نشده تنها مقدار پروپرتی price_ هر دو شی را مقدار دهی کرده ایم و انهارا در خروجی چاپ کرده ایم.

            حتی میتوان درون پروپرتی ها شرطی قرار داد تا در هنگام وارد کردن مقداری درون آن فیلدها مقدار را بررسی کرده و براساس خواسته برنامه نویس عکس العمل نشان دهد برای مثال ما شرطی درون پروپرتی مربوط به فیلد price قرار میدهیم بدین صورت که اگر مقدار این فیلد کمتر از ۱۶۰۰۰  باشد عبارت off را نیز در ادامه مشخصتاش چاپ کند پس درون کلاس کدها را بدین صورت تغییر خواهیم داد.

            public double _price
            
                    {
            
                        get { return price; }
            
                        set {
            
                            if (value > 16000)
            
                            {
            
                                price = value;
            
                            }
            
                            else
            
                            {
            
                                Console.Write("off    ");
            
                                price = value;
            
                            }
            
                            }
            
                    }
            

            چون در هنگام مقدار دهی میخواهیم مقدار وارد شده را چک کند پس درون قسمت set شرط مورد نظر را تایپ میکنیم حال با اجرا برنامه خروجی زیر را خواهیم داشت

            آموزش شی گرایی

            آموزش شی گرایی

             

            Auto-Implemented prop

            این گونه از پروپرتی ها نیازی به Back Field ندارد که در این شرایط سرعت کار بالا میرود اما نتیجه را نمیتوان جایی ذخیره کرد و از دست میرود که در شرایطی حتما به Back Field نیاز است برای داشتن نتیجه در حالی که در شرایطی نیز نتیجه کار مهم نیست و فقط سرعت مدنظر است.

            برای مثال تکه کد زیر

            public int Brand { get; set; }
            

            در شبه کد فوق هیج فیلدی مربوط به این پروپرتی در کلاس وجود ندارد اما همانگونه که مشاهده میکنید میتوان اینچنین پروپرتی ایجاد کرد.

            مدرس : خانم مهندس داودی نژاد

            آموزش شی گرایی – قسمت اول

            آموزش شی گرایی – قسمت سوم 

            اشتراک گذاری

            پست های مرتبط

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            30 بهمن 1400

            دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            30 بهمن 1400

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            توابع در زبان برنامه نویسی دارت (Dart)

            توابع در زبان برنامه نویسی دارت (Dart)

            27 بهمن 1400

            توابع در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب

            دیدگاهتان را بنویسید لغو پاسخ

            نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

            ساخت اپلیکیشن های موبایل

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

             
            کلیک کنید

            آخرین دیدگاه ها

            • 7 خرداد 1401

              داودی نظر در آموزش استفاده از ckeditor همراه با آپلود عکس در لاراول 6

            • 6 فروردین 1401

              yasaman نظر در راست چین کردن متن در فیگما Figma

            • 3 فروردین 1401

              رضا نظر در مفاهیم Observable و Observer در RxJava

            تجاری اپ در شبکه های اجتماعی

            لوگوی تایید پرداخت آنلاین

            2015-2022 © تمامي حقوق مادي و معنوي اين وب سايت نزد تجاری اپ محفوظ بوده و هر گونه کپي برداري از مطالب پيگرد قانوني به همراه دارد! | طراح سایت : ProgRun
            سفارش پروژه
                      هیچ نتیجه ای یافت نشدمشاهده همه نتایج