تمام کلاس ها را می توان به صورت انتزاعی یا کنکرت تعریف کرد. پیش فرض  ساخت کلاس کنکرت است. این به این معنی است که کلاس کنکرت می تواند (مستقیم) متغیر و متد  داشته باشد. در مقابل، انتزاعی بدان معنی است که یک کلاس نمیتواند متغیر و متدهای  خود را (مستقیم) داشته باشد.

کلاسهای ابسترکت و کنکرت
شکل 1: کلاسهای ابسترکت و کنکرت

در نمودار بالا یک کلاس انتزاعی به نام Employee وجود دارد. در UML، نام این کلاس کلاس انتزاعی در یک فونت ایتالیک نوشته شده است. این کلاس شامل یک روش انتزاعی به نام calculatePay است که در یک فونت ایتالیک نوشته شده است. یک کلاس و متد انتزاعی پیاده سازی مستقیم ندارد به طور معمول یک کلاس انتزاعی شامل یک یا چند متد انتزاعی  است. نمودار همچنین سه زیر کلاس را نشان می دهد که رفتار و ویژگی های داده را از کلاس Employee به ارث می برند. این کلاس های بتنی هستند که می توان از آنها اشیا ساخت. کلاس های انتزاعی به طور مستقیم نمی تواند نمونه ای از شی  از آنها ساخت. کلاسهای انتزاعی برخی از رفتارهای عمومی را ارائه میدهند، در حالی برخی رفتارها را به یک زیر کلاس منتقل میکنند.

 

برچسب‌ها , , , , , , , , , , , , , , , , , , ,


دیدگاهتان را بنویسید

Want to see your ugly mug by your comment? Get a free custom avatar at Gravatar.