كيف يتم تنفيذ تجريد البيانات في Java؟

نشرت: 2022-05-17

التجريد ، تعدد الأشكال ، التغليف ، والوراثة هي العناصر الأربعة الأساسية للبرمجة الموجهة للكائنات. ستتم مناقشة إحداها ، تجريد البيانات ، بالتفصيل في المقالة التالية. سوف نتعلم أيضًا كيفية إجراء تجريد البيانات في Java.

جدول المحتويات

ما هو استخراج البيانات؟

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

بعبارات بسيطة ، يعرض تجريد البيانات عناصر مهمة للمستخدم مع إخفاء العناصر غير المهمة.

نستخدم الكلمة الأساسية "abstract" لتنفيذ التجريد بمساعدة الفئات والواجهات. يمكن أن يكون لدينا أساليب مجردة وملموسة في الفصول المجردة.

ما هي الفصول المجردة؟

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

تركيبها هو:

فئة الملخص العامة Name_of_Class

{

الملخص العام Name_of_Method () ؛

}

مثال على تنفيذ فئة الملخص هو:

// تسمية فئة مجردة

فئة مجردة DemoClass

{

// طريقة تسمية مجردة

عرض باطل مجردة () ؛

}

// متابعة فئة الملخص

الطبقة العامة MainClass يمتد DemoClass

{

// تحديد جسم طريقة الصنف المجرد

عرض باطل ()

{

System.out.println ("طريقة مجردة تسمى.") ؛

}

الرئيسية العامة الثابتة الفراغ (سلسلة [] args)

{

MainClass obj = new MainClass () ؛

// استدعاء الطريقة المجردة

obj.display () ،

}

}

للإدراج النقطي:

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

ما هي الطرق المجردة؟

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

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

مزايا تجريد البيانات في البرمجة الشيئية

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

/ * اسم الملف: DemoAbstract.java * /

فئة عامة DemoAbstract {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

/ * لا يمكن كتابة ما يلي وبدء الأخطاء * /

الموظف e = موظف جديد ("Peter D."، "Hartford، CT"، 35)؛

System.out.println ("\ n استخدم مرجع الموظف واتصل بـ MailCheck-")؛

e.mailCheck () ؛

}

}

يظهر هذا الخطأ التالي:

Employee.java:46: الموظف مجرد ؛ لا يمكن إنشاء مثيل لها

الموظف e = موظف جديد ("Peter D."، "Hartford، CT"، 35)؛

^

1 خطأ

لذلك نستخدم استخدام الفئة المجردة على النحو التالي:

/ * اسم الملف: worker.java * /

موظف فئة الملخص العام {

سلسلة خاصة N ؛

إضافة سلسلة خاصة ؛

خاص int Num؛

الموظف العام (سلسلة N ، إضافة سلسلة ، رقم العدد) {

System.out.println ("إنشاء موظف") ؛

this.name = N ؛

this.address = إضافة ؛

this.number = Num ؛

}

الحوسبة المزدوجة العامة () {

System.out.println ("داخل حساب الموظف") ؛

العودة 0.0 ؛

}

فحص بريد عام باطل () {

System.out.println ("إرسال شيك بالبريد إلى" + this.name + "" + this.address) ؛

}

سلسلة toString العامة () {

عودة N + ”” + إضافة + ”” + N ؛

}

سلسلة عامة getName () {

عودة N ؛

}

getAddress السلسلة العامة () {

عودة إضافة ؛

}

setAddress العامة باطلة (String newAddress) {

إضافة = newAddress ؛

}

public int getNumber () {

عودة Num

}

}

متى نستخدم الطبقة المجردة أو الطرق المجردة؟

عندما نفكر في المثال العام "للأشكال" ، قد نتخيل أنه يتم استخدامه للإشارة إلى نظام التصميم بمساعدة الكمبيوتر أو لمحاكاة ألعاب الفيديو. النوع الأساسي المشار إليه هنا هو "الشكل" ، مع كل شكل له سمات اللون الخاصة به ، والحجم ، وما إلى ذلك. فئات محددة من الأشكال - الدائرة ، المربع ، المثلث ، وما إلى ذلك ، مشتقة (موروثة) من هذا ، كل منها قد يكون لها خصائص وسلوكيات فريدة إضافية. بعض الأشكال ، على سبيل المثال ، يمكن أن تكون متناظرة ، في حين أن البعض الآخر ليس كذلك. يتم تجسيد كل من أوجه التشابه والاختلافات المميزة بين الأشكال في التسلسل الهرمي للنوع.

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

فيما يلي سيناريو من الحياة الواقعية لشرح الفئات المجردة:

// برنامج جافا لإثبات التجريد

شكل فئة مجردة {

لون السلسلة

منطقة مزدوجة مجردة () ؛

الخلاصة العامة String toString () ؛

// يمكن أن يكون للفئة المجردة المُنشئ

الشكل العام (لون السلسلة)

{

System.out.println ("مُنشئ الشكل يسمى") ؛

this.colour = color؛

}

// هذه طريقة ملموسة

public String getColour () {إرجاع اللون ؛ }

}

فئة الدائرة توسع الشكل {

ص مزدوج

دائرة عامة (لون السلسلة ، مزدوج (r)

{

// استدعاء مُنشئ الشكل

سوبر (لون) ؛

System.out.println ("مُنشئ دائرة يسمى") ؛

this.r = r ؛

}

Override منطقة مزدوجة ()

{

إرجاع Math.PI * Math.pow (r، 2) ؛

}

Override public String toString ()

{

إرجاع "لون الدائرة" + super.getColor ()

+ "والمساحة هي:" + منطقة () ؛

}

}

صنف مستطيل يمتد الشكل {

طول مزدوج

عرض مزدوج

مستطيل عام (لون السلسلة ، طول مزدوج ،

عرض مزدوج)

{

// استدعاء مُنشئ الشكل

سوبر (لون) ؛

System.out.println ("مُنشئ مستطيل يسمى") ؛

this.length = الطول ؛

this.width = العرض ؛

}

Override double area () {return length * width؛ }

Override public String toString ()

{

إرجاع "لون المستطيل" + super.getcolor ()

+ "والمساحة هي:" + منطقة () ؛

}

}

اختبار الفصل العام {

الرئيسية العامة الثابتة الفراغ (سلسلة [] args)

{

الشكل s1 = دائرة جديدة ("أحمر" ، 2.2) ؛

الشكل s2 = مستطيل جديد ("أصفر" ، 2 ، 4) ؛

System.out.println (s1.toString ()) ؛

System.out.println (s2.toString ()) ؛

}

}

هذا الجزء من الكود هو نسخة معدلة من تلك الموجودة هنا .

مقتطف رمز لبرنامج يتم فيه استخدام تجريد البيانات في Java:

// التجريد في جافا

فئة مجردة ElecBill

{

// طريقة مجردة

compBill تعويم مجردة () ؛

}

يمتد فئة Comm إلى ElecBill

{

تعويم compBill () {

إرجاع 1.00 * 100 ؛

}

}

الدرجة المحلية تمتد ElecBill

{

تعويم compBill () {

إرجاع 0.50 * 75 ؛

}

}

استنتاج

يعد تجريد البيانات جانبًا مهمًا من جوانب البرمجة الشيئية. بالنسبة للغات مثل Java ، يلعب التجريد ومفاهيم OOP الأخرى مثل الوراثة والتغليف وتعدد الأشكال دورًا مهمًا في كتابة البرامج الفعالة.

إذا كنت ترغب في تعلم OOPs بشكل متعمق واكتساب مهارات برمجة من الدرجة الأولى ، فإننا نوصي بالانضمام إلى شهادة PG المرتبطة بالوظيفة من upGrad في هندسة البرمجيات المصممة لمساعدة الطلاب على اكتساب مهارات في Java و OODAP و DSA و HTML5 و CSS3 ، و JavaScript ، و MERN ، و AWS ، وقواعد بيانات SQL و NoSQL ، و Spring Boot ، وما إلى ذلك. تغطي الدورة التي مدتها 5 أشهر تخصصين - تخصص MERN Stack وتخصص Cloud-Native وتوفر الوصول إلى جلسات استشارية مهنية تصل إلى 360 درجة.

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

ما هو تعدد الأشكال؟ كيف يختلف عن تجريد البيانات؟

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

ما هي الاختلافات بين "التغليف" و "استخراج البيانات"؟

التضمين - 1. يخفي التغليف البيانات (المعلومات) ، بينما يخفي التجريد التفاصيل (إخفاء التنفيذ). 2. تجريد البرمجة الشيئية يحل المشاكل على مستوى التصميم. 3. لأغراض أمنية ، يعني التغليف إخفاء المعلومات الداخلية أو آليات كيفية أداء الكائن لشيء ما. الملخص - 1. بينما يربط التغليف البيانات والأساليب التي تعمل عليه ، فإن تجريد البيانات يهتم بتعريض واجهة المستخدم مع إخفاء تفاصيل التنفيذ. 2. يتم حلها على مستوى التنفيذ من خلال التغليف. 3. في Java ، يسمح لك تجريد البيانات بالتركيز على ما يجب أن يتضمنه كائن المعلومات.

ما هي السمات المميزة بين الواجهة والفئة المجردة؟

الواجهة - 1. فقط الطرق المجردة تجد نفسها جزءًا من الواجهة. 2. دعم الميراث المتعددة. 3. غير قادر على تقديم تطبيق الفصل المجرد. 4. يسمح فقط بالأساليب المجردة العامة في الواجهة. 5. يمكن استخدام متغير نهائي ثابت عام واحد فقط في الواجهة. فئة الملخص - 1. يمكن العثور على الطرق المجردة وكذلك الطرق غير المجردة في فصل دراسي مجردة. 2. لا يتم دعم الميراث المتعدد. 3. إنها قادرة على تنفيذ الواجهة. 4. الأساليب العامة المحمية والمجردة كلاهما ممكن في فئة مجردة. 5. مع أي محدد وصول ، يمكن للفئة المجردة أن تحتوي على متغيرات نهائية نهائية أو ثابتة أو ثابتة.