نبدأ نصمم الكلاسات للعبة الشطرنج , عندنا Game فيها Player و Board و الBoard يحتوي قطع هي King الملك , Queen ( الوزير - الملكة ) عندنا Rook ( غراب (رخ) - قلعة ) عندنا Bishop ( فيل - صاروخ - جمل ) و عندنا Knight ( حصان ) و 8 Pawns ( جنود - بيادق ). (سلسلة ) https://t.co/2v1mdxh0Vj
الOOP عند التصميم خصوصاً للClass Diagram تتعلق بالInterface و ليس بالImplementation لذلك علينا النظر من زواية اعلى دون التفكير في التفاصيل. فنكتب مثلا اسم الميثود دون التطرق إلى عملها.
فاذا كان هناك علاقة مخفية بداخل احد الMethod مع كلاس اخر فمن الافضل تجاهلها لاننا مثل ما ذكرت فنحن هنا نتكلم عن الInterface و ليس عن الImplementation. و محتويات الميثود تعتبر Implementation.
لاحظ ان ما ذكرناه في البداية جميعهم قطع فهنا ممكن نستخدم الInheritance بإنشاء Abstract Class نسميه Piece (قطعة) و نضيف فيه كل الصفات و الاعمال المشتركة مثل name و move ثم نرسم علاقة Inheritance بينهم. بحيث يصبح الPiece عبارة عن Super class.
بعدها في كل كلاس نقوم بعمل Override للMethods مثل move و نضع به طريقة و قوانين حركته و ربما من خلال استدعاء كلاس اخر يحسب لنا التنقلات الممكنة لتلك القطعة.