التجريد في Java
ما هو التجريد في Java?
التجريد هو مفهوم البرمجة الموجهة للكائنات الذي "يُظهِر" فقط السمات الأساسية و"يخفي" المعلومات غير الضرورية. الغرض الرئيسي من التجريد هو إخفاء التفاصيل غير الضرورية عن المستخدمين. التجريد هو تحديد البيانات من مجموعة أكبر لإظهار التفاصيل ذات الصلة بالكائن فقط للمستخدم. يساعد في تقليل تعقيد البرمجة والجهود المبذولة. إنه أحد أهم مفاهيم البرمجة الموجهة للكائنات.
انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو
دعونا ندرس التجريد في OOPs مع مثال:
لنفترض أنك تريد إنشاء تطبيق مصرفي وطُلب منك جمع كل المعلومات عن عميلك. هناك احتمالات بأن تتوصل إلى المعلومات التالية عن العميل

ولكن، ليست كل المعلومات المذكورة أعلاه مطلوبة لإنشاء تطبيق مصرفي. لذا، عليك تحديد المعلومات المفيدة فقط تطبيق مصرفي من تلك البركة. تعتبر البيانات مثل الاسم والعنوان والمعلومات الضريبية وما إلى ذلك منطقية بالنسبة للتطبيق المصرفي الذي يعد مثالًا تجريديًا في OOPs
نظرًا لأننا قمنا بجلب/إزالة/تحديد معلومات العميل من مجموعة أكبر، تتم الإشارة إلى العملية باسم التجريد في وجه الفتاةومع ذلك، يمكن استخدام نفس المعلومات بعد استخراجها لمجموعة واسعة من التطبيقات. على سبيل المثال، يمكنك استخدام نفس البيانات لتقديم طلب إلى مستشفى أو طلب إلى بوابة وظائف أو قاعدة بيانات حكومية، وما إلى ذلك مع القليل من التعديل أو بدونه. وبالتالي، تصبح بياناتك الرئيسية. وهذه ميزة من مزايا التجريد في البرمجة الشيئية الموجهة.
الفرق بين التجريد والتغليف
| التجريد | التغليف |
|---|---|
| التجريد في البرمجة الشيئية يحل المشكلات على مستوى التصميم. | التغليف يحل مستوى التنفيذ. |
| إن التجريد في البرمجة يدور حول إخفاء التفاصيل غير المرغوب فيها مع إظهار المعلومات الأكثر أهمية. | التغليف يعني ربط الكود والبيانات في وحدة واحدة. |
| تجريد البيانات في Java يسمح بالتركيز على ما يجب أن يحتوي عليه كائن المعلومات | التغليف يعني إخفاء التفاصيل الداخلية أو آليات كيفية قيام الكائن بشيء ما لأسباب أمنية. |
الفرق بين فئة الملخص والواجهة
| فئة مجردة | السطح البيني |
|---|---|
| يمكن أن تحتوي الفئة المجردة على طرق مجردة وغير مجردة. | يمكن أن تحتوي الواجهة على طرق مجردة فقط. |
| لا يدعم الميراث المتعددة. | يدعم الميراث المتعدد. |
| يمكن أن توفر تنفيذ الواجهة. | لا يمكن أن توفر تنفيذ فئة مجردة. |
| يمكن أن تحتوي الفئة المجردة على طرق عامة محمية ومجردة. | يمكن أن تحتوي الواجهة على طرق مجردة عامة فقط. |
| يمكن أن تحتوي الفئة المجردة على متغير نهائي نهائي أو ثابت أو ثابت مع أي محدد وصول. | يمكن أن تحتوي الواجهة فقط على متغير نهائي ثابت عام. |
ما هي فئة الملخص؟
فئة مجردة هو نوع من الطبقة في Java، التي تعلن عن واحد أو أكثر من الأساليب المجردة. يمكن أن تحتوي هذه الفئات على طرق مجردة بالإضافة إلى طرق ملموسة. لا يمكن أن تحتوي الفئة العادية على أساليب مجردة. الفئة المجردة هي فئة تحتوي على طريقة مجردة واحدة على الأقل. يمكننا أن نفهم هذا المفهوم من خلال مثال الشكل في جافا.
فكر في التسلسل الهرمي التالي للفئات والذي يتكون من فئة Shape والتي ترثها ثلاث فئات Rectangle وCircle وTriangle. تم إنشاء فئة Shape لتوفير السمات والطرق المشتركة بين الفئات الثلاث Rectangle وCircle وTriangle. calculateArea() هي إحدى هذه الطرق المشتركة بين الفئات الفرعية الثلاث والموجودة في فئة Shape.
الآن، افترض أنك تكتب تعليمات برمجية لإنشاء كائنات للفئات الموضحة أعلاه. دعونا نلاحظ كيف هذه سوف تبدو الأشياء في عالم عملي. كائن من فئة المستطيل سوف يعطي مستطيلاً، وهو الشكل الذي نلاحظه بشكل شائع في الحياة اليومية.
كائن من مثلث الفئة سيعطي مثلثًا، مرة أخرى شكلًا شائعًا يوميًا.
ولكن كيف سيبدو كائن Class Shape في العالم العملي ؟؟
إذا لاحظت أن فئة الشكل تخدم هدفنا تحقيقه وراثة وتعدد الأشكال. ولكن لم يتم بناؤه ليتم إنشاء مثيل له. يمكن تسمية هذه الفئات الملخص. لا يمكن إنشاء مثيل لفئة Java مجردة.
بناء الجملة:
abstract class Shape{
// code
}
من الممكن ألا تقوم بتسمية فئة الشكل على أنها مجردة ثم تقوم بإنشاء مثيل لها. لكن مثل هذا الكائن لن يكون له أي فائدة في التعليمات البرمجية الخاصة بك وسيفتح مجالًا للأخطاء المحتملة. وبالتالي فإن هذا غير مرغوب فيه.
ما هي الأساليب المجردة في Java?
الطريقة المجردة in Java، هي طريقة تحتوي على تعريف الطريقة فقط ولكنها لا تحتوي على التنفيذ. تُعرف الطريقة التي لا تحتوي على جسم بالطريقة المجردة. يجب أن يتم الإعلان عنها في فئة مجردة. لن تكون الطريقة المجردة نهائية أبدًا لأن الفئة المجردة يجب أن تنفذ جميع الطرق المجردة.
كما نعلم جميعًا، تختلف صيغة حساب مساحة المستطيل والدائرة والمثلث. يجب أن يتم تجاوز طريقة الحسابArea() بواسطة الفئات الموروثة. ليس من المنطقي تحديده في فئة الشكل، لكننا بحاجة للتأكد من أن جميع الفئات الموروثة لديها هذه الطريقة.
يمكن تسمية هذه الأساليب نبذة مختصرة.
بناء الجملة:
abstract public void calculateArea();
للحصول على طريقة مجردة، لا يتطلب التنفيذ. يتم تعريف توقيع الطريقة فقط.
مثال على رمز التجريد
abstract class Shape{
abstract void calculateArea();
}
class guru99 extends Shape{
void calculateArea(){System.out.println("Area of Shape");}
public static void main(String args[]){
Shape obj = new guru99();
obj.calculateArea();
}
}
مزايا التجريد
- الفائدة الرئيسية من استخدام التجريد في برمجة وتطوير هو أنه يسمح لك بتجميع عدة فئات ذات صلة كأخوة.
- يساعد التجريد في البرمجة الموجهة للكائنات على تقليل تعقيد عملية تصميم وتنفيذ البرامج.
الكلمة الرئيسية النهائية في Java
ينطبق المعدل النهائي على الفئات والأساليب والمتغيرات. ويختلف معنى النهائي من سياق إلى آخر، ولكن الفكرة الأساسية هي نفسها.
- لا يمكن وراثة الفئة النهائية
- يصبح المتغير النهائي ثابتًا ولا يمكن تغيير قيمته.
- لا يمكن تجاوز الطريقة النهائية. يتم ذلك لأسباب أمنية، ويتم استخدام هذه الأساليب للتحسين.
مثال :- لتعلم الكلمات الرئيسية المجردة والنهائية
الخطوة 1) انسخ الكود التالي إلى المحرر.
abstract class Shape{
final int b = 20;
public void display(){
System.out.println("This is display method");
}
abstract public void calculateArea();
}
public class Rectangle extends Shape{
public static void main(String args[]){
Rectangle obj = new Rectangle();
obj.display();
//obj.b=200;
}
//public void calculateArea(){}
}
الخطوة 2) حفظ وتجميع وتشغيل التعليمات البرمجية.
الخطوة 3) خطأ =؟ لم يتم تنفيذ الطريقة المجردة في فئة المستطيل. لإصلاح المشكلة قم بإلغاء التعليق على السطر رقم 15.
الخطوة 4) قم بإلغاء التعليق على السطر رقم 13. احفظ الكود وقم بتجميعه.
الخطوة 5) خطأ = ؟ المتغير ب نهائي
متى تستخدم الأساليب المجردة وفئة الملخص؟
يتم الإعلان عن الأساليب المجردة في الغالب عندما تقوم فئتان فرعيتان أو أكثر بنفس الشيء بطرق مختلفة من خلال تطبيقات مختلفة. كما أنه يمتد أيضًا إلى نفس فئة الملخص ويقدم تطبيقات مختلفة للطرق المجردة.
تساعد الفئات المجردة في وصف أنواع عامة من السلوكيات وتسلسل فئات البرمجة الموجهة للكائنات. كما تصف الفئات الفرعية لتقديم تفاصيل تنفيذ الفئة المجردة.
ملخص:
- التجريد في البرمجة هو عملية اختيار مجموعات البيانات المهمة لمشروع ما هدف في برامجك وترك الأشياء غير المهمة.
- بمجرد الانتهاء من تصميم الكائن الخاص بك باستخدام تجريد البيانات في Java، يمكن استخدام نفس مجموعة البيانات في تطبيقات مختلفة.




