Product Design, Manufacturing & Innovation Resources
بيت » التجريد (البرمجة الكائنية التوجه)

التجريد (البرمجة الكائنية التوجه)

1970
  • Barbara Liskov
Software engineer coding abstract classes in a modern IDE environment.

(صورة توضيحية فقط)

التجريد في البرمجة الكائنية التوجه هو مفهوم إخفاء تفاصيل التنفيذ المعقدة وإظهار السمات الأساسية للكائن فقط. يركز هذا المفهوم على وظيفة الكائن بدلاً من كيفية أدائها. ويتحقق ذلك من خلال الفئات المجردة والواجهات، التي تحدد مخططًا للفئات الأخرى دون تقديم تنفيذ كامل، مما يبسط الأنظمة المعقدة.

Abstraction is a process of managing complexity. In programming, it involves creating a simplified representation of a system or component. In البرمجة الكائنية التوجه, this is primarily done using abstract classes and interfaces. An abstract class is a class that cannot be instantiated on its own and is meant to be subclassed. It can contain abstract methods (methods without a body) that subclasses must implement. An interface is a similar concept but is purely abstract; it can only define method signatures, not implementations. A class can then ‘implement’ an interface, promising to provide the functionality defined in it.

يُمكّن هذا المبرمجين من تحديد عقد أو واجهة برمجة تطبيقات (API) مشتركة تلتزم بها فئات متعددة. على سبيل المثال، يمكن لواجهة "Storable" تعريف الدالتين "save()" و"load()". يمكن لفئات مختلفة مثل "Document" و"Image" و"UserSettings" تطبيق واجهة "Storable"، حيث توفر كل فئة منطقها الخاص للحفظ والتحميل. لا يحتاج الكود الذي يتعامل مع كائنات "Storable" إلى معرفة النوع المحدد للكائن الذي يتعامل معه؛ بل يكفيه معرفة أنه يستطيع استدعاء الدالة "save()". و ‘load()’. هذا يفصل كود العميل عن التطبيقات المحددة، مما يجعل النظام أكثر نمطية ومرونة وأسهل في الفهم على مستوى عالٍ.

UNESCO Nomenclature: 1203
– Computer science

يكتب

نظام مجرد

خلل

أساسيات

الاستخدام

استخدام واسع النطاق

مقدمات

  • التجريد الرياضي
  • مفهوم البرامج الفرعية والوظائف كشكل من أشكال التجريد الإجرائي
  • نظرية أنواع البيانات المجردة (ADT)
  • الحاجة إلى إدارة التعقيد في المشاريع الهندسية واسعة النطاق

التطبيقات

  • طبقات الوصول إلى قاعدة البيانات (DALs) التي تخفي استعلامات SQL المحددة
  • برامج تشغيل الأجهزة التي تلخص تعقيد الأجهزة من نظام التشغيل
  • بياني واجهة المستخدم مكتبات (واجهة المستخدم الرسومية) التي توفر عناصر واجهة مستخدم عالية المستوى
  • بروتوكولات الشبكة مثل HTTP تجريد البنية الأساسية TCP/IP تواصل
  • مكتبة القالب القياسية (stl) في C++

براءات الاختراع:

NA

أفكار ابتكارية محتملة

  • واجهات برمجة تطبيقات الحوسبة السحابية (على سبيل المثال، AWS S3) تلخص أجهزة التخزين الأساسية
  • أطر عمل التطوير متعددة الأنظمة مثل React Native أو Flutter
  • مكتبات تعيين الكائنات والعلاقات (orm) مثل hibernate أو إطار عمل الكيان
  • standardized apis for machine learning frameworks (e.g., scikit-learn’s estimator api)
  • آلة جافا الافتراضية (JVM) التي تلخص نظام التشغيل والأجهزة الأساسية
  • الشبكات المعرفة بالبرمجيات (sdn) تلخص مستوى التحكم في الشبكة
  • تقنية البلوك تشين smart contract interfaces (e.g., erc-20 for tokens)
  • طبقات تجريد الأجهزة العالمية (hals) للأنظمة المضمنة
  • واجهات برمجة التطبيقات للتفاعل مع نماذج اللغة الكبيرة (llms)
  • أطر برمجة الحوسبة الكمومية التي تجرد تفاصيل الأجهزة الكمومية
يتعلق بـ: التجريد، الواجهة، الفئة المجردة، واجهة برمجة التطبيقات، إخفاء المعلومات، التعقيد، البرمجة الكائنية التوجه، العقد، الفصل، النمطية.

السياق التاريخي

التجريد (البرمجة الكائنية التوجه)

1967
1967
1970
1970
1970
1970-01-01
1975-06-01
1960
1967
1970
1970
1970
1970
1973
1980

(إذا كان التاريخ غير معروف أو غير ذي صلة، على سبيل المثال "ميكانيكا الموائع"، يتم توفير تقدير تقريبي لظهوره الملحوظ)

أحدث الإضافات

أهم المنشورات والمقالات

أفضل الأدوات الأصلية

السنة العاشرة عيد

الصور والتنزيلات بالحجم الكامل متاحة فقط، ومجانية تمامًا، للأعضاء المسجلين.