Javaلة بسيطة و مترابطة تعلمك أساسيات التجريد
في المثال التالي قمنا بتعريف كلاس إسمه A, نوعه abstract, يملك متغير إسمه x, و دالة إسمها print().
بعدها سنقوم ببناء الكلاس Main لتجربة الكود.
المثال الأول
سنحصل على النتيجة التالية عند التشغيل.
Uncompilable source code - abstraction.A is abstract; cannot be instantiated
سبب الخطأ هنا أننا حاولنا إنشاء كائن من كلاس نوعه abstract.
الآن سنقوم بإنشاء كلاس جديد إسمه B, يرث من الكلاس A.
بداخل الكلاس Main سننشئ كائن من الكلاس B لنحصل على الأشياء الموجودة في الكلاس A.
المثال الثاني
سنحصل على النتيجة التالية عند التشغيل.
إذاً بما أننا لا نستطيع إنشاء كائن مباشرةً من الكلاس A, قمنا بإنشاء الكلاس B بهدف وراثة الأشياء الموجودة في الكلاس A, و بعدها أنشأنا كائن من الكلاس B و تأكدنا أنه يحتوي على جميع الأشياء الموجودة في الكلاس A.
الآن سنقوم بإضافة دالتين نوعهما abstract في الكلاس A, ثم سنفعل لهما Override في الكلاس B.
بداخل الكلاس Main سننشئ كائن من الكلاس B و سنقوم باستدعاء الدوال الجديدة التي قمنا بإضفاتها.
المثال الثالث
سنحصل على النتيجة التالية عند التشغيل.