https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2129493150879981 ما هى البرمجة المجردة ؟ وهل هي لغة المستقبل؟ تعرف عليها الان

أقسام الوصول السريع ( مربع البحث )

ما هى البرمجة المجردة ؟ وهل هي لغة المستقبل؟ تعرف عليها الان

البرمجة المجردة: ما هي؟ وما هي فوائدها؟


 البرمجة المجردة هي أحد أهم مفاهيم البرمجة الكائنية - Object Oriented Programming. فهي تسمح للمبرمجين بإنشاء كائنات يمكن استخدامها في مجموعة متنوعة من التطبيقات، سنتعرف في هذا المقال عن كل ما يخص البرمجة المجردة فهي تعتبر دليل شامل حيت يحتوي المقال على ما يلي:

  • تعريف البرمجة المجردة
  • ما هو التجريد في البرمجة؟
  • ما هو الفرق بين الـ Interface وال Abstract؟
  • فوائد البرمجة المجردة
  • ما هو Abstract Class في الجافا؟
  • ما الفرق بين abstract و Encapsulation؟
  • مثال على البرمجة المجردة
  • كيفية استخدام البرمجة المجردة
  • كيفية استخدام البرمجة المجردة
  • ما هي البرمجة الموجهة للبيانات
  • ما هو Abstract Class في الجافا؟

تعريف البرمجة المجردة

البرمجة المجردة - Abstract Programming - هي عملية فصل البيانات عن السلوك في البرمجة الكائنية. تسمح للمبرمجين بإنشاء كائنات يمكن استخدامها في مجموعة متنوعة من التطبيقات دون الحاجة إلى تغييرها.

كما أنها تشير إلى استخدام فئات مجردة (Abstract Classes) أو واجهات (Interfaces) في لغات البرمجة الشيئية OOP. هذا النوع من البرمجة يسمح بتحديد الهيكل العام للبرنامج دون تفصيل تنفيذي محدد.

ما هو الفرق بين الـ Interface وال Abstract؟

  1. فئات مجردة (Abstract Classes): تُستخدم الفئات في البرمجة المجردة لتحديد هيكل عام للبرنامج وتحتوي على طرق (Methods) مجردة يجب تنفيذها في الفئات الفرعية. يستفيد المبرمجون من هذه الفئات لتوحيد سلوك الفئات الفرعية وترتيب الكود بشكل هرمي.
  2. واجهات (Interfaces): تعرف الواجهات مجموعة من الطرق (الوجهات) التي يجب على الفئات- Classes تنفيذها. على عكس الفئات المجردة، يمكن للفئات تنفيذ عدة واجهات. تُستخدم الواجهات لتحديد تعاقب البرنامج وتعزيز التفاعل بين الأجزاء المختلفة من النظام.

باختصار،الـ abstract يمكن أن يحتوي على تنفيذ (Implementation) للكود، في حين أن الـ Interface لا يحتوي على كود بل يحمل تصاريح (declaration) فقط. عند استخدام الـ abstract، يمكن لجميع الفئات أن ترث منه، وفي لغات البرمجة مثل #C وجافا، يمكن فقط للفئة أن ترث من كلاس واحد. وعلى الجانب الآخر، يمكن للـ Interface أن يُنفذ (Implements) من قبل عدة Interfaces في نفس الوقت.

كما أن البرمجة المجردة تساهم في تحسين هيكل البرنامج وجعله أكثر قابلية للصيانة وإعادة الاستخدام. تمكن المبرمجين من فصل التفاصيل التنفيذية عن الهيكل العام للبرنامج، مما يسهل تطوير التطبيقات الكبيرة والمعقدة بشكل أفضل.

ما هو Abstract Class في الجافا؟

في الجافا، Abstract Class هو فئة لا يمكن إنشاء كائنات منها مباشرة. يمكن استخدامها فقط كأساس الفئات الفرعية.

تُستخدم فئات Abstract في الجافا لتوفير بنية عامة للكائنات التي يمكن أن تختلف في بعض التفاصيل. على سبيل المثال، يمكن إنشاء Abstract Class لتعريف خصائص السيارة. يمكن أن تحدد Abstract Class خصائص مثل السرعة واللون والماركة، ولكن يمكن أن تختلف طرق القيادة والفرملة في كل فئة فرعية.

تعريف Abstract Class في الجافا:

لتعريف فئة Abstract في الجافا، يجب استخدام الكلمة الأساسية abstract قبل اسم الفئة. على سبيل المثال:

Java

abstract class Vehicle {


  private String color;

  private String brand;


  public Vehicle(String color, String brand) {

    this.color = color;

    this.brand = brand;

  }


  public String getColor() {

    return color;

  }


  public String getBrand() {

    return brand;

  }


  // يجب إعادة تعريف هذه الطريقة في الفئات الفرعية

  public abstract void drive();


  // يجب إعادة تعريف هذه الطريقة في الفئات الفرعية

  public abstract void brake();

}



في المثال أعلاه، تحدد فئة Vehicle خصائص color و brand، وطريقة getColor() و getBrand(). ومع ذلك، فإنها لا تحدد طرق drive() و brake(). يجب إعادة تعريف هذه الطرق في الفئات الفرعية.

المصادر

github.com/lincolnthree/aerogear-controller

أمثلة على استخدام Abstract Class في الجافا:

فيما يلي بعض الأمثلة للبرمجة المجردة على كيفية استخدام فئات Abstract في الجافا:

  • إنشاء بنية بيانات Data Structure: يمكن استخدام فئة Abstract لإنشاء بنية بيانات قابلة للتخصيص. يمكن للمبرمجين إنشاء فئة Abstract تحدد الخصائص والسلوكيات المشتركة لجميع كائنات البيانات، ثم إنشاء فئات فرعية لإنشاء أنواع بيانات مختلفة.
  • توفير واجهة مشتركة: يمكن استخدام فئة Abstract لتوفير واجهة مشتركة للكائنات المختلفة. يمكن للمبرمجين إنشاء فئة Abstract تحدد طرقًا مشتركة يمكن استخدامها بواسطة جميع الكائنات، ثم إنشاء فئات فرعية لإنشاء كائنات مختلفة تلبي هذه الاحتياجات.
  • توفير الأساس لإعادة الاستخدام: يمكن استخدام فئة Abstract لتوفير الأساس لإعادة استخدام التعليمات البرمجية. يمكن للمبرمجين إنشاء فئة Abstract تحدد سلوكيات مشتركة يمكن استخدامها بواسطة العديد من الكائنات، ثم إنشاء فئات فرعية لإنشاء كائنات مختلفة تلبي هذه الاحتياجات.

ما الفرق بين abstract و Encapsulation؟

تُستخدم كلمة abstract في الجافا للدلالة على فئة لا يمكن إنشاء كائنات منها مباشرة. تُستخدم كلمة encapsulation للدلالة على عملية إخفاء البيانات والسلوكيات داخل كائن.

يمكن تلخيص الفرق بين abstract و encapsulation في النقاط التالية:

  • تُستخدم abstract لتحديد فئة لا يمكن إنشاء كائنات منها مباشرة، بينما تُستخدم encapsulation لإخفاء البيانات والسلوكيات داخل كائن.
  • تُستخدم abstract عادةً لتوفير الأساس لإعادة الاستخدام أو إنشاء بنية بيانات، بينما تُستخدم encapsulation عادةً لتحسين سلامة البيانات وقابلية الصيانة.

أمثلة على استخدام abstract و encapsulation:

فيما يلي بعض الأمثلة على كيفية استخدام abstract و encapsulation في الجافا:

  • استخدام abstract لإنشاء بنية بيانات: يمكن للمبرمجين إنشاء فئة abstract لتعريف بنية البيانات، ثم استخدام encapsulation لإخفاء البيانات والسلوكيات داخل الكائنات.
  • استخدام encapsulation لتحسين سلامة البيانات: يمكن للمبرمجين استخدام encapsulation لإخفاء البيانات الحساسة داخل الكائنات، وبالتالي منع الوصول غير المصرح به إليها.
  • استخدام encapsulation لتحسين قابلية الصيانة: يمكن للمبرمجين استخدام encapsulation لتجميع البيانات والسلوكيات ذات الصلة معًا، مما يجعل البرامج أكثر قابلية للفهم والصيانة، وهنا تكمن فوائد البرمجة المجردة.

فوائد البرمجة المجردة

للبرمجة المجردة العديد من الفوائد، بما في ذلك:

  • سهولة الاستخدام والصيانة: تجعل البرمجة المجردة من السهل فهم وصيانة البرامج.
  • إعادة الاستخدام: يمكن إعادة استخدام الكائنات المجردة في تطبيقات متعددة.
  • القابلية للتوسيع: يمكن توسيع البرامج المجردة بسهولة عن طريق إضافة كائنات جديدة.
  • القابلية للاختبار: يمكن اختبار البرامج المجردة بسهولة عن طريق اختبار الكائنات الفردية.

مثال على البرمجة المجردة

لنفترض أنك تريد إنشاء برنامج يمكنه إدارة مجموعة من الكائنات. يمكنك استخدام البرمجة المجردة لإنشاء فئة عامة للكائنات. يمكن أن تحدد الفئة العامة خصائص وسلوكيات الكائنات.

يمكنك بعد ذلك إنشاء فئات فرعية من الفئة العامة للكائنات المحددة التي تريد إدارتها. على سبيل المثال، يمكنك إنشاء فئة فرعية للمنتج، وفئة فرعية للموظف، وفئة فرعية للسيارة.

يمكنك استخدام الفئات الفرعية هذه لإنشاء كائنات جديدة. يمكن استخدام هذه الكائنات في برنامج إدارة الكائنات الخاص بك.

كيفية استخدام البرمجة المجردة

هناك العديد من الطرق للاستخدام. فيما يلي بعض الأمثلة:

  • إنشاء واجهة مستخدم: يمكن استخدامها لإنشاء واجهة مستخدم قابلة للتخصيص. يمكن للمبرمجين إنشاء فئة عامة لواجهة المستخدم، ثم إنشاء فئات فرعية لهذه الفئة لإنشاء واجهات مستخدم مختلفة.
  • التحكم في الوصول: يمكن استخدامها للتحكم في الوصول إلى البيانات والسلوكيات. يمكن للمبرمجين إنشاء فئات خاصة وعامة وحماية.
  • البرمجة الموجهة للبيانات: يمكن استخدام البرمجة المجردة للبرمجة الموجهة للبيانات. يمكن للمبرمجين إنشاء كائنات تمثل البيانات، ثم استخدام هذه الكائنات لإنشاء برامج.

ما هي البرمجة الموجهة للبيانات

البرمجة الموجهة للبيانات (Data-Oriented Programming) هي عبارة عن أسلوب برمجي يركز على تنظيم ومعالجة البيانات بشكل فعال. يتمثل التركيز في هذا النهج في تنظيم البرنامج حول البيانات وكيفية التعامل معها بشكل أمثل. تختلف هذه الطريقة عن البرمجة التقليدية الموجهة للكائنات (Object-Oriented Programming) التي تركز على الكائنات والعلاقات بينها.

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

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

الخاتمة

البرمجة المجردة هي أداة قوية يمكن استخدامها لتحسين كفاءة وقابلية صيانة البرامج. من خلال فهم البرمجة المجردة وكيفية استخدامها، يمكن للمبرمجين إنشاء برامج أكثر قوة وسهولة في الاستخدام.





حجم الخط
+
16
-
تباعد السطور
+
2
-