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

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

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

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

            در قسمت ششم آموزش شی گرایی در ادامه مبحث وراثت در شی گرایی در آموزش پنجم آموزش ها و مثال هایی دررابطه با مفاهیم Sealed Classes (آخرین نود وراثت) ,  Polymorphism by Overloading (چندریختی با overloading) و Partial Classes(کلاس های جزیی) آورده شده.

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

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

                (اخرین نودهای وراثت)Sealed Classes

            اینگونه کلاس ها را بهتر است برای اخرین نودهای وراثت تعیین شود در واقع این گونه کلاسها به صورت بسته هستند و هیچگونه ارث بری نمیتوانید از این کلاس ها بکنید. برای مشخص کردن این گونه کلاس ها نیز تنها کافیست عبارت sealed را قبل از نام Class قرار داد و بدنه آنرا پیاده سازی کرد و خواهید دید که هیچگونه ارث بری نمیتوان انجام داد و در صورت اینکار با خطا مواجه خواهید شد

            مثال زیر کلاس SampleClasses را به صورت Sealed تعریف کرده

            sealed class SampleClass
            
                {
            
                    public void Test()
            
                    {
            
                        Console.WriteLine("Seald classes");
            
                    }
            
                }
            

            حال به هیچ عنوان نمیتوان دستوری مانند زیر داشت

            class Test2:SampleClass
            
                {
            
                }
            

            *از ویژگی sealed میتوان برای عناصر درون کلاس مانند متدها نیز استفاده میشود. در این صورت اگر مثلا متدی درون یک کلاس sealed شود و کلاس دیگری از این کلاس ارث بری کند کلاس وارث نمیتواند از متد sealed کلاس پدر استفاده کند.

            (کردنoverride چند ریختی با)Polymorphism by Overloading

            چندریختی بدین معنی است که برای مثال یک متد به چندین شکل و روش مختلف خروجی بدهد حال یکی از روش ها برای انجام چند ریختی استفاده از Overloading میباشد.

            در آموزش قبل در مبحث سازنده ها ما عمل Overloading را به وسیله سازنده ها انجام دادیم حال اگر بخواهیم مثال دیگری در این رابطه بزنیم میتوانیم جمع را به چندین صورت مختلف انجام دهیم به صورت زیر

             public int sum(int x, int y)
            
                    {
            
                        if (y == 0)
            
                        {
            
                            y = 10;
            
                            return x + y;
            
                        }
            
                        else
            
                            return x + y;
            
                    }
            
                    public int sum(int x)
            
                    {
            
                        return sum(x , 0);
            
                    }
            
                    public double sum(double x, double y)
            
                    {
            
                        return x + y;
            
                    }
            
                }
            

            مثال فوق همانگونه که مشخص است از چندریختی استفاده شده بدین صورت که تابع sum را ۳بار تکرار کرده ایم البته باید به این نکته توجه داشت که برای استفاده از خاصیت چند ریختی توابع حتما باید نوع یا تعداد پارامترهای توابع با هم تفاوت داشته باشد تا بتوانیم چندین تابع هم نام ایجاد کنیم پس کافیست که یا تعداد پارامترها یا نوعشان را متمایز در نظر  بگیریم دقیقا همین قانونی که د مثال فوق ما رعایت کرده ایم همانگونه که میبینید یکی از توابع دو متغیر از نوع int و دیگری نیز دو متغیر از نوع double دارد پس چون نوع پارامترها متفاوت است مشکلی وجود نخواهد داشت و همچنین تابع دیگری که تنها یک پارامتر دارد که قانون تعداد را رعایت کرده.

            حال در main برنامه یک شی از این کلاس ایجاد کرده و میتوان overloading را دید مانند زیر

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

            همانگونه که مشاهده میکنید زمانی که نام تابع را نوشتیم لیستی نمایش داده میشود که مشخص میکند سه overloading برای این تابع تعیین شده که میتوان با فلش مضخصات هرکدام را نیز مشاهده کرد.

             (کلاس های جزیی)Partial Classes

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

            برای جلوگیری از این مشکل از کلاس های partial استفاده میکنیم بدین معنی که قسمتهای مختلف کلاس را میتوان جداجدا در فایل های کلاس جدا قرار داد اما در انتها همه آنها مربوط به یک کلاس باشند و عملکرد یک کلاس را داشته باشند.

            برای مشخص کردن کلاس partial تنها کافیست به هر تعداد فایل کلاس با نام های مختلف و دلخواه ایجاد کنید سپس درون پنجره کدنویسی نام کلاس هارا یکی کنید و عبارت partial را قبل از class تایپ کنید مانند زیر

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

            در تصویر فوق همانگونه که مشخص است نام فایل کلاس Test_1(نام فایلها نمیتوانند مشابه باشند پس تنها درن کدنویسی نام کلاس را تغییر میدهیم که البته اینکار هم غیر مجاز است و تنها زمانی مجاز میشود که عبارت partial را نیز ذکر کرده باشید) میباشد اما درون پنجره کدنویسی نام کلاس به Testt تغییر کرده که این نام باید برای تمام فایل هایی که میخواهیم تبدیل به یک فایل شود یکی باشد. همانگونه که مشاهده میکنید فایلTest_1  برای فیلدها قرار داده شده.

            تصویر زیر نیز فایل Test_2 میباشد که برای متدها در نظر گرفته شده

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

            همانگونه که مشاهده میکنید نام این کلاس هم به Testt تغییر کرده اما نام فایل متفاوت از بقیه فایلها میباشد.

            تصویر زیر نیز مربوط به کلاسی است که برای پروپرتی ها در نظر گرفته شده

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

            حال اگر درون قسمت main برنامه شی از نوع کلاس Testt(توجه کنید که شی از نوع نام کلاسی تعریف میشود که برای همه کلاس ها یکی تعیین شده)ایجاد کنیم میتوانیم به تمام عناصری که در هر سه کلاس مشخص شده دسترسی پیدا کنیم. به صورت زیر

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

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

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

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

            اشتراک گذاری

            پست های مرتبط

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

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

            30 بهمن 1400

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


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

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

            30 بهمن 1400

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


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

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

            27 بهمن 1400

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


            ادامه مطلب

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

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

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

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

             
            کلیک کنید

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

            • 9 اسفند 1401

              مهری اصغری نظر در پیاده سازی اولین پروژه با فلاتر Flutter

            • 26 آبان 1401

              سجاد نظر در پروژه مدیریت سیستم مدرسه با سی شارپ و sql server

            • 7 خرداد 1401

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

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

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

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