في تطوير البرمجيات، يعد التجريد مفهومًا أساسيًا يسمح للمطورين بإخفاء التفاصيل المعقدة وكشف الأجزاء الأساسية فقط من النظام. بايثون، باعتبارها لغة برمجة موجهة للكائنات، توفر آليات للتجريد من خلال الفئات المجردة والواجهات. تساعد هذه المفاهيم في إنشاء تعليمات برمجية أكثر نمطية وقابلة لإعادة الاستخدام وقابلة للصيانة.
في هذه المقالة، سنستكشف كيفية عمل التجريد في بايثون، باستخدام كل من الفئات والواجهات المجردة، وسنقدم أمثلة واقعية لترسيخ هذه المفاهيم.
يشير التجريد في البرمجة إلى مفهوم إخفاء التفاصيل غير الضرورية وكشف الجوانب ذات الصلة من الكائن فقط. وهذا مشابه لمواقف الحياة الواقعية حيث نهتم فقط بالسلوك الأساسي أو خصائص كائن ما دون الحاجة إلى معرفة تفاصيل كيفية عمل الأشياء.
على سبيل المثال، عندما تقود السيارة، لا تحتاج إلى فهم كيفية عمل المحرك أو كيفية احتراق الوقود. كل ما عليك فعله هو أن تعلم أن الضغط على دواسة البنزين يجعل السيارة تتحرك والضغط على الفرامل يوقفها. التفاصيل المعقدة لكيفية تشغيل المحرك أو كيفية عمل الفرامل يتم تجريدها بعيدًا عن السائق.
فئة مجردة في بايثون هي فئة تعمل كمخطط للفئات الأخرى. يمكن أن تحتوي على طرق مجردة (طرق بدون تنفيذ) وطرق محددة (طرق مع التنفيذ). لا يمكنك إنشاء فئة مجردة مباشرة، ولكن يمكنك تصنيفها فرعيًا وتوفير تطبيقات للطرق المجردة.
كيف تعمل الفصول المجردةمثال واقعي: نظام معالجة الدفع
from abc import ABC, abstractmethod class PaymentProcessor(ABC): @abstractmethod def process_payment(self, amount): pass class CreditCardProcessor(PaymentProcessor): def process_payment(self, amount): return f"Processing credit card payment of {amount}" class PayPalProcessor(PaymentProcessor): def process_payment(self, amount): return f"Processing PayPal payment of {amount}" class CryptoProcessor(PaymentProcessor): def process_payment(self, amount): return f"Processing cryptocurrency payment of {amount}" # Example usage credit_card = CreditCardProcessor() paypal = PayPalProcessor() crypto = CryptoProcessor() print(credit_card.process_payment(100)) # Output: Processing credit card payment of 100 print(paypal.process_payment(150)) # Output: Processing PayPal payment of 150 print(crypto.process_payment(200)) # Output: Processing cryptocurrency payment of 200هنا، تحدد فئة ملخص PaymentProcessor طريقة معالجة_الدفع، والتي يجب تنفيذها بواسطة أي فئة فرعية. توفر كل فئة فرعية (CreditCardProcessor، PayPalProcessor، CryptoProcessor) تطبيقها الخاص للطريقة بناءً على نوع الدفع.
interface هي في الأساس فئة تحتوي على طرق مجردة فقط. فهو يحدد العقد الذي يجب أن تتبعه أي فئة تقوم بتنفيذ الواجهة.
مثال واقعي: نظام المركبات
from abc import ABC, abstractmethod class PaymentProcessor(ABC): @abstractmethod def process_payment(self, amount): pass class CreditCardProcessor(PaymentProcessor): def process_payment(self, amount): return f"Processing credit card payment of {amount}" class PayPalProcessor(PaymentProcessor): def process_payment(self, amount): return f"Processing PayPal payment of {amount}" class CryptoProcessor(PaymentProcessor): def process_payment(self, amount): return f"Processing cryptocurrency payment of {amount}" # Example usage credit_card = CreditCardProcessor() paypal = PayPalProcessor() crypto = CryptoProcessor() print(credit_card.process_payment(100)) # Output: Processing credit card payment of 100 print(paypal.process_payment(150)) # Output: Processing PayPal payment of 150 print(crypto.process_payment(200)) # Output: Processing cryptocurrency payment of 200في هذا المثال، تضمن واجهة المركبة أن أي فئة تنفذها يجب أن توفر أسلوبي start_engine وstop_engine. وهذا يوفر واجهة متسقة عبر أنواع المركبات المختلفة.
الفصل التجريدي كبرنامج تدريب في مكان العمل يعلم المهارات النظرية والعملية. يجب على كل من ينضم إلى الشركة متابعة التدريب، ولكن قد تكون بعض المهام معرفة عامة ومشتركة بالفعل، بينما تتطلب مهام أخرى تنفيذًا مخصصًا.
واجهةتشبه إلى حد كبير قاعدة السلامة الأساسية في العمل: "يجب على الجميع ارتداء خوذة". هذه القاعدة صارمة، وبينما يجوز لكل شخص اختيار علامة تجارية أو لون مختلف للخوذة، فإن الشرط الأساسي (ارتداء الخوذة) يظل كما هو للجميع.
من خلال فهم التجريد وتطبيقه، يمكنك إنشاء إطار عمل قوي ومرن للتعليمات البرمجية الخاصة بك، مما يضمن إخفاء التفاصيل المعقدة، وكشف الجوانب الأساسية فقط - مما يؤدي إلى أنظمة برمجية أسهل في الإدارة وأكثر سهولة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3