شش نوع روابط طبقاتی

شش نوع اصلی از روابط بین کلاس ها وجود دارد: وراثت، تحقق/پیاده سازی، ترکیب، تجمیع، تداعی و وابستگی. فلش های شش رابطه به شرح زیر است:

سپس به محتوای خاص رابطه طبقاتی می رسیم.

UML class diagram relationships

شش نوع رابطه

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

وراثت

وراثت را تعمیم نیز می نامند و برای توصیف رابطه بین کلاس های والد و فرزند استفاده می شود. به یک کلاس والد، یک کلاس پایه و یک کلاس فرعی، یک کلاس مشتق شده نیز گفته می شود.
در رابطه وراثت، زیر کلاس تمام توابع کلاس والد را به ارث می برد و کلاس والد دارای تمام ویژگی ها، متدها و زیر کلاس ها است. زیر کلاس ها علاوه بر اطلاعات مشابه کلاس والد حاوی اطلاعات اضافی هستند.
به عنوان مثال: اتوبوس ها، تاکسی ها و اتومبیل ها اتومبیل هستند، همه آنها نام دارند و همه آنها می توانند در جاده باشند.

تحقق / اجرا

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

به عنوان مثال: اتومبیل ها و کشتی ها وسایل نقلیه هستند و وسیله نقلیه فقط یک مفهوم انتزاعی از یک ابزار متحرک است و کشتی و وسیله نقلیه عملکردهای خاص موبایل را درک می کنند.

رابطه ترکیب

ترکیب: رابطه بین کل و جزء است، اما نمی توان کل و جزء را از هم جدا کرد.

رابطه ترکیبی نشان دهنده رابطه بین کل و بخشی از کلاس است و کل و قسمت دارای طول عمر ثابتی هستند. هنگامی که شیء کلی وجود نداشته باشد، برخی از اشیاء وجود نخواهند داشت و همه آنها در یک زندگی می میرند. برای مثال، یک شخص از یک سر و یک بدن تشکیل شده است. این دو جدایی ناپذیرند و در کنار هم وجود دارند.

Class Diagram template: Class Diagram Composition Example (Created by Visual Paradigm Online's Class Diagram maker)

رابطه تجمع

تجمیع: رابطه بین کل و جزء و کل و جزء قابل تفکیک است.
روابط جمعی همچنین نشان دهنده رابطه بین کل و بخشی از کلاس است، اشیاء عضو بخشی از شی کلی هستند، اما شی عضو می تواند مستقل از شی کلی وجود داشته باشد.

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

روابط انجمن

Association: نشان می دهد که یک ویژگی از یک کلاس دارای ارجاع به یک نمونه (یا نمونه) از کلاس دیگر است.
ارتباط رایج ترین رابطه بین یک کلاس و یک کلاس است که به این معنی است که بین یک نوع شی و یک نوع شی دیگر ارتباط وجود دارد. ترکیب ها و ادغام ها نیز به روابط تداعی تعلق دارند ، اما روابط بین طبقات وابستگی ضعیف تر از دو دیگر است.
چهار نوع تداعی وجود دارد : انجمن های دو طرفه ، انجمن های یک طرفه، تداعی های خود و انجمن های چندتایی .
به عنوان مثال: اتومبیل ها و رانندگان، یک اتومبیل مربوط به یک راننده خاص است و یک راننده می تواند چندین اتومبیل را رانندگی کند.
در نمودارهای UML، تداعی‌های دو طرفه می‌توانند دارای دو پیکان یا بدون پیکان باشند و انجمن‌های یک‌طرفه یا خود انجمن‌ها دارای یک فلش هستند.
در یک رابطه چندگانه، می توانید یک عدد را مستقیماً به خط مرتبط اضافه کنید تا تعداد اشیاء در کلاس مربوطه را نشان دهد.
  • 1..1: فقط یکی
  • 0..*: صفر یا بیشتر
  • 1..*:یکی یا بیشتر
  • 0..1: نه یا فقط یکی
  • m..n: حداقل m، حداکثر n (m<=n)

وابستگی ها

وابستگی: فرض کنید که تغییر در کلاس A باعث تغییر کلاس B می شود، سپس بگویید کلاس B به کلاس A بستگی دارد.
در بیشتر موارد، وابستگی ها در متدهای یک کلاس که از شی کلاس دیگر به عنوان پارامتر استفاده می کنند، منعکس می شوند .

یک رابطه وابستگی یک رابطه «استفاده» است. تغییر در یک چیز خاص ممکن است بر سایر چیزهایی که از آن استفاده می کنند تأثیر بگذارد، و زمانی که لازم است نشان دهد که یک چیز از چیز دیگری استفاده می کند، از یک وابستگی استفاده می کند. به عنوان مثال: ماشین به بنزین متکی است. اگر بنزین نباشد، ماشین نمی تواند رانندگی کند.

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

Class Diagram template: UML Class Diagram Example: Sales Order System (Created by Visual Paradigm Online's Class Diagram maker)

این الگو را ویرایش کنید

مثال نمودار کلاس: رابط کاربری گرافیکی

نمودار کلاس همچنین ممکن است دارای یادداشت هایی باشد که به کلاس ها یا روابط متصل شده اند.

Class Diagram template: Class Diagram GUI Example (Created by Visual Paradigm Online's Class Diagram maker)

این الگو را ویرایش کنید

نمودار کلاس با محدودیت تعریف شده توسط کاربر

 

Class Diagram template: Class Diagram - Classes and packages Constraints (Created by Visual Paradigm Online's Class Diagram maker)

این الگو را ویرایش کنید

در بین شش نوع رابطه، ساختار کد ترکیب، تجمیع و تداعی یکسان است و از قوت رابطه می توان به آن پی برد. ترتیب از قوی به ضعیف عبارت است از: وراثت → اجرا → ترکیب → تجمع → ارتباط → وابستگی . در زیر یک نمودار UML کامل آمده است.