عندما تأكل بوريتو ، فإن كل مستقبلات ذوقك تغني بفرح. تأتي كل قضمة بمزيج من أنواع النكهات المختلفة ، مثل المالح والحلو والتوابل والأومامي. كل قضمة بعد ذلك مذاقها مختلف قليلاً حيث تجمع مجموعة جديدة من المكونات نكهاتها معًا.
ربما تكون قد قرأت المكونات من القائمة ، لكنك لا تعرف بالضبط كيف يتم صنع السالسا. يمكن أن يكون التوابل التي يستخدمونها على الخضار مزيجًا سريًا. لا تحتاج إلى معرفة كل مكون بالضبط. يكفي أن تعرف أنه لذيذ.
المكونات التي تعرفها ، مثل الأرز الأبيض العادي ، خرسانية. العناصر الأخرى مجردة. أنت تعرف أنها صلصة ، لكن أي نوع؟ أو ، إذا قام شخص ما بتسليمك بوريتو من العدم ، فإن البوريتو بأكمله يكون مجرّدًا.
التجريد في الملخص
مع الميراث، التجريد مفهوم مهم في البرمجة الشيئية. النظرية هي أن كل كائن يجب أن يقدم نتائج بسيطة ويمكن التنبؤ بها. يجب أيضًا أن تشارك الكائنات فقط ما يجب مشاركته.
يمكنك التفكير في البوريتو كشيء. داخل البوريتو ، لديك عدة أشياء أخرى ، مثل الفول والأرز والجبن والصلصة الحارة. قد تكون الفاصوليا متبلة. يمكن أن يكون الجبن مزيجًا. وقد تكون الصلصة الحارة عبارة عن مزيج من الفلفل المعتق بالخل.
لست بحاجة إلى معرفة كيفية صنع جميع مكونات البوريتو. وفي حالة الهوت دوج ، ربما لا تريد أن تعرف. كل ما يهم هو أنه لا ينهار عندما تأكله وأنه لذيذ للغاية.
يرتبط التجريد ارتباطًا وثيقًا بالتغليف
إنه نفس الشيء مع كائنات البرمجة. عندما تقوم بإنشاء كائن ما (قم بإنشائه من فصل دراسي) ، فهذا يشبه طلب بوريتو من عداد شاحنة الطعام. لديك حق الوصول إلى بعض البيانات ، ولكن ليس كلها. لا تحتاج إلى معرفة كيفية عمل الكائن ، طالما أن الوظائف ترجع البيانات الصحيحة. هنا بوريتو في JavaScript / Typescript:
اللغة المحددة: tsx غير موجود "فشل إنشاء الكود !!
'
تستطيع العب بهذا الكود في TypeScript sandbox.
في المثال أعلاه ، يتم استخراج مكونات السالسا والجبن بعيدًا. أولاً ، يتم تغليفها لإخفاء المكونات الخاصة. ثم يتم إضافة محاضر للوصول إلى المكونات. لكن المكونات تعيد فقط تمثيلًا تجريديًا لما هي عليه بالفعل.
التجريد في الخرسانة
ومع ذلك ، فإن التجريد هو أكثر من مجرد مفهوم. يمكن أن تكون الفصول مجردة أيضًا. هذا يعني أنه يمكنهم تحديد الفئات الأخرى. لكن لا يمكن تمثيلهم بأنفسهم.
لماذا يجب أن تكون الفصول الدراسية مجردة في بعض الأحيان
تخيل أنك تذهب إلى مطعم وتجلس. يقدم لك النادل قائمة طعام. تفتحه لتجد أن هناك عنصرًا واحدًا فقط: الطعام.
هذا مجرد فكرة مجردة. هل تطلبها؟ هل تأكله؟ ربما لن تفعل ذلك. قول شيء ما هو طعام لا يكفي. يحتاج إلى الانقسام إلى شيء ملموس أكثر.
ماذا عن المعكرونة؟ حسنًا ، هذا نوع أكثر تحديدًا من الطعام. ونعلم أنه ربما يحتوي على نودلز وصلصة. ولكن هناك الكثير من أنواع المعكرونة المختلفة ، لذا فهي لا تزال مجردة.
ما هو الملخص وما هو الخرسانة؟
يعتبر فيتوتشيني ألفريدو مثالًا ملموسًا لكل من الطعام والمعكرونة. نفس الشيء ينطبق على الفصول. لا يجب إنشاء مثيل لكل فئة. يجب أن تحدد بعض الفئات هيكل الفئات الأخرى فقط.
هذا مثال بملخص غذاء فئة وطفل المكسرات المكاديميا صف دراسي:
اللغة المحددة: tsx غير موجود "فشل إنشاء الكود !!
'
ها هو الرمز.
تُخبر الفصول المجردة الفئات الأخرى بالطريقة التي من المفترض أن تتصرف بها. في المثال أعلاه ، إذا كنت ستصبح فصلًا للطعام ، فيجب أن يكون لديك وظائف تسمح بالوصول إلى اسمك ونكهتك ووصفك وسعراتك الحرارية.
لاحظ أن ملف المكسرات المكاديميا صف دراسي يمتدغذاء. هذا هو قول ذلك المكسرات المكاديميا يوافق على اتباع قواعد غذاء. لاحظ أيضًا أن المُنشئ يستدعي ممتاز. يقوم هذا الأمر بإنشاء مثيل للفئة الأصلية قبل إنشاء المُنشئ المكسرات المكاديميا.
إذا كنت تتعلم البرمجة ، يمكنك ذلك استمتع بمزيد من المرح مع ألعاب البرمجة هذه.
ممارسة التجريد
- قم بزيارة الرابط أعلاه واستخدم sandbox لإنشاء فئة مجردة تسمى حساء.
- إنشاء طفل ملموس من حساء فئة تسمى رقائق الذرة.
- يستخدم وحدة التحكم لاختبار التعليمات البرمجية الخاصة بك. ماذا يحدث إذا كان لديك رقائق الذرة class تفتقد إلى إحدى الوظائف المحددة في حساء?
ولكن ما هو الهدف من الفصل الذي لا يمكنك تحقيقه؟
في البداية ، قد تبدو الفصول المجردة غير ضرورية. بعد كل شيء ، لا يمكنك استخدامها في الواقع لصنع كائن. وليس الأمر وكأنهم ينقلون وظائفهم. يجب إعادة كتابة الوظائف في كل فصل دراسي.
هناك سببان رئيسيان لحاجتك إلى فصول مجردة. إنهم يحافظون على اتساق التعليمات البرمجية الخاصة بك ، ويتأكدون من أن المطورين الآخرين يكتبون أيضًا تعليمات برمجية متسقة. لن تعمل دائمًا بمفردك. يحتاج الفريق بأكمله إلى اتباع نفس القواعد. يمكنك تعلم المزيد من وثائق TypeScript في الفئات المجردة.
كيف تنظم كودك الكينوني بالوراثة
اقرأ التالي
مواضيع ذات صلة
- برمجة
- برمجة
- البرمجة الشيئية
نبذة عن الكاتب
لي هو بدوام كامل ومتفرغ متعدد المواهب ولديه العديد من المشاعر والاهتمامات. تدور بعض هذه المشاعر حول الإنتاجية والتنمية الشخصية والكتابة.
اشترك في نشرتنا الإخبارية
انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!
انقر هنا للاشتراك