s-a-نوع رابطه. مخلوطها معمولاً برای افزودن کلاس برنامه نویسی در اراک روشهای مشابه به چندین کلاس استفاده میشوند. به عنوان مثال، یک کلاس UnicodeConversionMixin ممکن است زمانی که در کلاس های FileReader و WebPageScraper که والد مشترکی ندارند، روشی به نام unicode_to_ascii ارائه دهد.
جزئي
در این بخش هیچ منبعی ذکر نشده است. لطفاً با افزودن نقل کلاس برنامه نویسی در اراک قول به منابع معتبر به بهبود این بخش کمک کنید. اطلاعات بدون مرجع ممکن است مشکل ایجاد کرده و پاک شوند. (آوریل 2012) (با نحوه و زمان حذف این پیام الگو آشنا شوید)
در زبانهایی که از این ویژگی پشتیبانی میکنند، یک کلاس جزئی، کلاسی است که تعریف آن ممکن است به چند قطعه، در یک فایل کد منبع واحد یا در چندین فایل تقسیم شود.[46] قطعات در زمان کامپایل ادغام می شوند و خروجی کامپایلر را مانند یک کلاس غیر جزئی می کنند.
انگیزه اولیه برای معرفی کلاس های جزئی، تسهیل اجرای کده کلاس برنامه نویسی در اراک ای تولید کننده، مانند طراحان بصری است.[46] در غیر این صورت، توسعه مولدهای کد که می توانند کد تولید شده را زمانی که در کدهای نوشته شده توسط توسعه دهنده قرار می گیرد، مدیریت کنند، یک چالش یا سازش است. با استفاده از کلاسهای جزئی، یک مولد کد میتواند یک فایل جداگانه یا یک کلاس جزئی درشت را در یک فایل پردازش کند، و در نتیجه از تداخل پیچیده کد تولید شده از طریق تجزیه گسترده، افزایش کارایی کامپایلر و از بین بردن خطر بالقوه خراب کردن کد توسعهدهنده جلوگیری میکند. در یک پیاده سازی ساده از کلاس های جزئی، کامپایلر می تواند مرحله ای از پیش کامپایل را انجام دهد که د کلاس برنامه نویسی در اراک ر آن تمام بخش های یک کلاس جزئی را "یکپارچه" می کند. سپس، گردآوری می تواند طبق معمول ادامه یابد.
سایر مزایا و اثرات ویژگی کلاس جزئی عبارتند از:
جداسازی رابط کلاس و کد پیاده سازی را به روشی منحصر به فرد فعال می کند.
ناوبری را از طریق کلاس های بزرگ در یک کلاس برنامه نویسی در اراک ویرایشگر آسان می کند.
جداسازی نگرانی ها را به روشی مشابه برنامه نویسی جنبه محور اما بدون استفاده از هیچ ابزار اضافی امکان پذیر می کند.
چندین برنامه نویس را قادر می سازد تا به طور همزمان روی کلاس برنامه نویسی در اراک یک کلاس واحد کار کنند بدون اینکه نیازی به ادغام کدهای جداگانه در یک فایل در زمان بعدی باشد.
کلاس های جزئی در اسمال تاک با نام Class Extensions برای مدت قابل توجهی وجود داشته اند. با ورود فریم ورک دات نت 2، مایکروسافت کلاس های جزئی را معرفی کرد که در C# 2.0 و Visual Basic 2005 پشتیبانی می شوند. WinRT همچنین از کلاس های جزئی پشتیبانی می کند.
غیرقابل تشخیص
کلاس های غیر قابل مصداق به برنامه نویسان این کلاس برنامه نویسی در اراک امکان را می دهند که فیلدها و متدهای هر کلاس را که در زمان اجرا بدون نمونه ای از کلاس قابل دسترسی هستند، با هم گروه بندی کنند. در واقع، نمونه سازی برای این نوع کلاس ممنوع است.
به عنوان مثال، در سی شارپ، یک کلاس با علامت "static" نمی تواند نمونه سازی شود، فقط می تواند اعضای ایستا (فیلدها، متدها، و غیره) داشته باشد، ممکن است سازنده نمونه کلاس برنامه نویسی در اراک نداشته باشد، و مهر و موم شده است. [47]
بی نام
یک کلاس بدون نام یا کلاس ناشناس کلاسی است که بر اساس تعریف به یک نام یا شناسه محدود نمی شود.[48][49] این مشابه توابع نامدار در مقابل توابع بی نام است.
فواید
مزایای سازماندهی نرم افزار در کلاس های شی به سه دس کلاس برنامه نویسی در اراک ته تقسیم می شود:[50]
توسعه سریع
سهولت نگهداری
استفاده مجدد از کدها و طرح ها
کلاس های شی توسعه سریع را تسهیل می کنند زیرا شکاف معنایی بین کد و کاربران را کاهش می دهند. تحلیلگران سیستم می توانند با توسعه دهندگان و کاربران با استفاده از واژگان یکسان صحبت کنند، در مورد حساب ها، مشتریان، صورتحساب ها و غیره صحبت کنند. کلاس های شی اغلب توسعه سریع را تسهیل می کنند زیرا اکثر محیط های شی گرا با ابزارهای قدرتمند اشکال زدایی و تست ارائه می شوند. نمونههای کلاسها را میتوان در زمان اجرا بررسی کرد تا بررسی شود که سیستم مطابق انتظار عمل میکند. همچنین، بیشتر محیطهای شی گرا به جای دریافت خالی از حافظه هسته، قابلیتهای اشکالزدایی را تفسیر کردهاند تا توسعهدهنده بتواند دقیقاً در کجای برنامه خطا رخ داده است آموزش برنامه نویسی کودکان و نوجوانان و میتواند ببیند که کدام روشها به کدام آرگومانها و با چه آرگومانهایی فراخوانی شدهاند.[51] ]
کلاسهای آبجکت از طریق کپسولهسازی، نگهداری آسان را تسهیل میکنند. زمانی که توسعهدهندگان نیاز به تغییر رفتار یک شی دارند، میتوانند این تغییر را فقط به آن شی و اجزای سازنده آن تغییر دهند. این پتانسیل عوارض جانبی ناخواسته ناشی از بهبودهای نگهداری را کاهش می دهد.
استفاده مجدد از نرم افزار نیز مزیت اصلی استفاده از کلاس های Object است. کلاس ها استفاده مجدد را از طریق وراثت و رابط ها تسهیل می کنند. هنگامی که یک رفتار جدید مورد نیاز است، اغلب می توان با ایجاد یک کلاس جدید و داشتن آن کلاس رفتارها و داده های پیش فرض سوپرکلاس خود را به ارث برد و سپس برخی از جنبه های رفتار یا داده ها را بر اساس آن تنظیم کرد. استفاده مجدد از طریق واسط ها (همچنین به عنوان متدها شناخته می شود) زمانی اتفاق می افتد که یک شی دیگر بخواهد کلاس شیء را فراخوانی کند (به جای ایجاد نوع جدیدی). این روش برای استفاده مجدد، بسیاری از خطاهای رایجی را که می توانند به نرم افزار راه پیدا کنند، زمانی که یک برنامه دوباره از کد دیگری استفاده می کند، حذف می کند.[52]
نمایش زمان اجرا
در این بخش هیچ منبعی ذکر نشده است. لطفاً با افزودن نقل قول به منابع معتبر به بهبود این بخش کمک کنید. اطلاعات بدون مرجع ممکن است مشکل ایجاد کرده و پاک شوند Programming class in Arak . (مه 2012) (چگونگی و زمان حذف را بیاموزید