الكلاسات المجردة abstract
عندما نقوم بتعريف كلاس مجرد هذا يعني أن هذا الكلاس مخصص فقط للإعلان أو التصريح عن الدوال و المتغيرات فقط و لا نستطيع بناء كود داخل الكلاس المجرد, هذا هو تعريفه بإختصار و يتم الإعلان عنه بإستخدام الكلمة abstract ثم اسم الكلاس.
حتى الدوال و المتغيرات الذي تكون داخل الكلاس المجرد يجب أن تسبقها كلمة abstract لتعريفه أنه مجرد.
الشكل العام لكتابته
package ****;
abstract class هنا نكتب اسم الكلاس
{
abstract void names(); names هو اسم الدالة
}
public class ****{
مثال 1
package cara;
abstract class car
{
abstract void names()
{
System.out.println("sajo");
}
}
public class CarA{
public static void main(String []args){
System.out.println("Hello World");
}
}
شرح المثال السابق 1
نلاحظ في هذا المثال أننا أنشانا كلاس مجرد بإسم car و كان بداخله دالة ايضاً سبقتها الكلمة abstract الذي تعرفّها أنها مجرد و عندما فتحنا القوسين اسفلها لنُعطي أمر طباعة سوف يعطينا خطأ سيظهر سطر لونه أحمر اسفل الدالة لأن من الشروط لا يمكن إنشاء كود بداخله و مخصص فقط للتصريح عن الدوال.
الهدف من الكلاسات المجردة
الهدف هو لتنفيذ نمط معّين بشكل إجباري يعني مثال لدينا دوال مهمة إثنان, ثلاث, أربع و نريد تنفيذها في كل كلاس أو في اكثر من كلاس و نريد تنفيذها بشكل إجباري حتى لا ننساها, ستواجهنا مشكلة النسيان مثلاً قُمنا ببناء الكلاس و نسينا تنفيذ دالة مهمة يجب تنفيذها و لتفادي النسيان نقوم ببناء كلاس مجرد ثم نقوم بالتصريح عن هذه الدوال المهمة و بعد ذلك عند إنشاء الكلاس نجعله يرث من الكلاس المجرد لكي يتم إجباره إلزامياً بتنفيذ كافة الدوال المعرّفة داخل الكلاس.
مثال 2
package cara;
abstract class car
{
abstract void color();
abstract void speed();
}
class carB extends car
{
void color()
{
System.out.println("bink");
}
void speed()
{
System.out.println("90k");
}
}
public class CarA{
public static void main(String []args){
System.out.println("Hello World");
}
}
شرح المثال السابق 2
أنشأنا كلاس مجرد إسمه car و به دالتين نوع void و هما اللون color و السرعة speed ثم أورثنا كلاس إسمه carB من الكلاس الأب وورث الدوال اللون و السرعة ثم طبعهم عبر امر الطباعة المعروف System.out.println و هنا إستطعنا الإعلان عن الدوال الذي في الكلاس الأب.
ليست هناك تعليقات:
إرسال تعليق