SlideShare a Scribd company logo
‫بلغة‬‫البرمجة‬
‫الجافا‬
Java Programming Language
‫عداد‬‫ا‬
/
‫ا‬
.
‫السائح‬ ‫سكينة‬
‫بيع‬‫ر‬
2023
‫المعلومات‬‫تقنية‬‫كلية‬
‫محاضرة‬
8
:
‫اثة‬‫ر‬‫الو‬
Inheritance
‫اثة‬‫ر‬‫الو‬
inheritance

‫هي‬
‫عملية‬
‫إنشاء‬
class
‫جديدة‬
‫خذ‬‫تا‬
‫خصائص‬
class
‫موجودة‬
ً‫مسبقا‬
(
‫اثة‬‫ر‬‫و‬
)
‫وتضيف‬
‫خصائص‬
ً‫ى‬‫خر‬‫ا‬
‫لها‬
‫حسب‬
‫الحاجة‬
.

‫تسمى‬
class
‫الموجودة‬
ً‫مسبقا‬
(
‫القديمة‬
)
‫ب‬
superclass
،
‫ما‬‫ا‬
‫ال‬
class
‫الجديدة‬
‫سمى‬ُ‫فت‬
‫ب‬
subclass
.

‫كل‬
class
‫جديدة‬
(
subclass
)
‫ترث‬
‫من‬
‫ال‬
class
‫القديمة‬
(
superclass
)
‫كل‬
‫خصائصها‬
(
‫بياناتها‬
)
‫و‬
‫سلوكها‬
(
‫دوالها‬
)
.

‫كل‬
subclass
‫جديدة‬
‫ترث‬
‫من‬
superclass
‫قديمة‬
‫واحدة‬
‫فقط‬
.
‫و‬
‫ليس‬
‫كما‬
‫في‬
‫لغة‬
C++
‫التي‬
‫تتميز‬
‫اثة‬‫ر‬‫بالو‬
‫المتعددة‬
.

‫في‬
،‫الغالب‬
subclass
‫يكون‬
‫اكبر‬
ً‫حجما‬
‫من‬
superclass
،
‫لكن‬
‫ل‬
superclass
‫كائنات‬
‫ثر‬‫ك‬‫ا‬
.
‫اثة‬‫ر‬‫الو‬

‫كل‬
object
‫من‬
subclass
‫هو‬
object
‫من‬
superclass
.

‫يمكن‬
‫ن‬‫ا‬
‫يكون‬
‫ل‬
superclass
‫ثر‬‫ك‬‫ا‬
‫من‬
subclass
،
‫و‬
‫لكن‬
‫ليس‬
‫العكس‬
.

‫يمكن‬
‫تمثيل‬
‫العالقة‬
‫بين‬
‫ال‬
superclass
‫و‬
subclass
‫ب‬
isrelationship
.

‫كل‬
class
‫يمكن‬
‫ن‬‫ا‬
‫ترث‬
‫من‬
‫ال‬
class
‫التي‬
‫تسبقها‬
(
‫التسلسل‬
‫الهرمي‬
)
.

‫تعتبر‬
‫ال‬
object class
‫هي‬
‫ال‬
class
‫االم‬
‫ئيسية‬‫ر‬‫ال‬
‫الموجودة‬
‫في‬
‫تبة‬‫مك‬
‫جافا‬
(
superclass
)
‫ي‬‫ال‬
class
‫في‬
‫نامج‬‫ر‬‫الب‬
‫في‬
‫حالة‬
‫عدم‬
‫تحديد‬
superclass
.
‫و‬
‫ي‬‫ا‬
class
‫في‬
‫نامج‬‫ر‬‫ب‬
‫جافا‬
‫ترث‬
ً‫ضمنيا‬
‫من‬
objectclass
‫ئيسية‬‫ر‬‫ال‬
.

‫عند‬
‫إنشاء‬
‫تصنيف‬
ً‫بدال‬
‫من‬
‫اإلعالن‬
‫عن‬
‫عضاء‬‫ا‬
‫جدد‬
‫يمكن‬
‫تعيين‬
‫ن‬‫ا‬
‫هذا‬
‫التصنيف‬
‫يرث‬
‫عضا‬‫ا‬
‫ء‬
‫من‬
‫تصنيف‬
‫موجود‬
‫مسبقا‬
.
‫التصنيف‬
‫الموجود‬
‫مسبقا‬
‫تسمى‬
superclass
،
‫والتصنيف‬
‫الجديد‬
‫هي‬
subclass
.

subclass
‫يمكن‬
‫ن‬‫ا‬
‫تصبح‬
superclass
‫لـ‬
subclasses
‫المستقبلية‬
.

‫يمكن‬
‫لل‬
subclasses
‫إضافة‬
‫الحقول‬
‫و‬
‫الدوال‬
‫الخاصة‬
‫بها‬
.
‫لذلك‬
‫تعتبر‬
subclass
‫ثر‬‫ك‬‫ا‬
‫ا‬‫تحديد‬
‫من‬
superclass
‫و‬
‫تمثل‬
‫مجموعة‬
‫ثر‬‫ك‬‫ا‬
‫ا‬‫تخصص‬
‫من‬
‫الكائنات‬
.
‫اثة‬‫ر‬‫الو‬
inheritance

‫في‬
Java
ً‫يبدا‬
‫التسلسل‬
‫الهرمي‬
‫مع‬
‫كائن‬
‫تصنيف‬
class Object
(
‫في‬
‫الحزمة‬
java.lang
)
‫حيث‬
‫ن‬‫ا‬
‫كل‬
‫تصنيف‬
‫بالجافا‬
‫يرث‬
‫منها‬
‫بشكل‬
‫مباشر‬
‫و‬‫ا‬
‫غير‬
‫مباشر‬
.

‫على‬
‫عكس‬
C++
،
‫ال‬
‫تدعم‬
Java
‫اثة‬‫ر‬‫الو‬
‫المتعددة‬
.

‫ال‬
‫يمكن‬
‫لدوال‬
‫التصنيف‬
‫الفرعي‬
subclass
‫الوصول‬
‫مباشرة‬
‫إلى‬
‫عضاء‬‫اال‬
‫بمعدل‬
‫وصول‬
‫خاص‬
‫من‬
superclass
.
‫يمكن‬
‫للتصنيف‬
‫الفرعي‬
‫تغيير‬
‫حالة‬
‫ات‬‫ر‬‫المتغي‬
‫الخاصة‬
‫من‬
‫التصنيف‬
‫االب‬
‫ف‬
‫قط‬
‫من‬
‫خالل‬
‫دوال‬
‫غير‬
‫خاصة‬
‫بالتصنيف‬
‫االب‬
‫و‬
‫التي‬
‫ثها‬‫ر‬‫و‬
‫تصنيف‬
‫االبن‬
(
‫التصنيف‬
‫الفرعي‬
subclass
)
.

‫ال‬
‫يمكن‬
‫الوصول‬
‫إلى‬
‫عضاء‬‫اال‬
‫الخاصة‬
‫من‬
superclass
‫إلى‬
‫خارج‬
‫التصنيف‬
‫نفسه‬
‫فهي‬
‫مخفية‬
‫عن‬
‫تص‬
‫انيف‬
‫الفرعية‬
‫منها‬
‫و‬
‫ال‬
‫يمكن‬
‫الوصول‬
‫إليها‬
‫إال‬
‫من‬
‫خالل‬
‫الدوال‬
‫العامة‬
‫و‬‫ا‬
‫المحمية‬
‫وثة‬‫ر‬‫المو‬
‫من‬
superclass
.

‫يمكن‬
‫ن‬‫ا‬
‫تشير‬
‫دوال‬
‫ال‬
Subclass
‫إلى‬
‫عضاء‬‫اال‬
‫العامة‬
‫و‬
‫المحمية‬
‫وثة‬‫ر‬‫المو‬
‫من‬
‫التصنيف‬
‫ب‬‫اال‬
superclass
‫بساطة‬
‫عن‬
‫طريق‬
‫استخدام‬
‫سماء‬‫ا‬
‫عضاء‬‫اال‬
.
‫اثة‬‫ر‬‫الو‬‫اهمية‬
‫اثةًفيًلغةًجافاًبالتالي‬‫ر‬‫هميةًالو‬‫تتمثلًا‬
:
.1
‫تابةًالكود‬‫ارًإعادةًك‬‫ر‬‫عدمًتك‬
.
.2
‫نامج‬‫ر‬‫سهولةًتعديلًالب‬
.
.3
ً‫امكانيةًانشاء‬
class
ً‫خرىًمن‬‫ا‬
class
‫خرين‬‫قديمةًسبقًانشائهاًمنًقبلًمبرمجينًا‬
.
‫تكوين‬
subclass
‫من‬
superclass
ً‫وال‬‫ا‬
:
ً‫ة‬‫ز‬‫استخدامًالكلمةًالمحجو‬
extends
‫كماًفيًالشكلًالتالي‬
:
‫تابع‬
..
‫تكوين‬
subclass
‫من‬
superclass

ً‫ثانيا‬
:
‫استخدام‬
‫الكلمة‬
‫ة‬‫ز‬‫المحجو‬
‫معدل‬
‫الوصول‬
protected
‫مع‬
‫ات‬‫ر‬‫المتغي‬
‫والثوابت‬
‫الموجودة‬
‫في‬
superclass
‫لكي‬
‫تسمح‬
‫لكل‬
subclass
‫منها‬
‫بالوصول‬
‫اليها‬
.

ً‫ثالثا‬
:
‫استخدام‬
‫الكلمة‬
‫ة‬‫ز‬‫المحجو‬
(
)
super
‫الستدعاء‬
‫دالة‬
‫بناء‬
‫موجودة‬
‫في‬
‫ال‬
superclass
‫من‬
‫قبل‬
‫دالة‬
‫بناء‬
‫موجودة‬
‫في‬
subclass
‫و‬
‫امكانية‬
‫تمرير‬
‫قيم‬
(
‫بيانات‬
)
،‫إليها‬
‫كما‬
‫يمكن‬
‫ن‬‫ا‬
‫ستخدم‬ُ‫ت‬
‫ال‬
super
‫للتميز‬
‫بين‬
‫ات‬‫ر‬‫متغي‬
superclass
‫و‬
subclass
‫المتشابهة‬
.
‫محلول‬ ‫ين‬‫ر‬‫تم‬

‫بالتمرين‬
‫السابق‬
..
‫شركة‬
‫لديها‬
‫نوعان‬
‫من‬
،‫الموظفين‬
‫موظف‬
‫عمولة‬
‫يتقاضى‬
‫مبلغ‬
‫م‬
‫الي‬
(
‫عمولة‬
)
‫مقابل‬
‫تسويق‬
‫منتج‬
،‫الشركة‬
‫و‬
‫موظف‬
‫تب‬‫ر‬‫م‬
‫و‬
‫عمولة‬
‫يتقاضى‬
‫تب‬‫ر‬‫م‬
‫من‬
‫الشركة‬
‫مع‬
‫مب‬
‫لغ‬
‫مالي‬
(
‫عمولة‬
)
‫مقابل‬
‫تسويق‬
‫منتج‬
‫الشركة‬
ً‫يضا‬‫ا‬
.
‫اعد‬
‫تابة‬‫ك‬
‫نامج‬‫ر‬‫الب‬
‫باستخدام‬
‫اثة‬‫ر‬‫الو‬
‫ل‬
‫يقوم‬
‫بالتالي‬
:

‫عرض‬
‫بيانات‬
‫كل‬
‫موظف‬
.

‫حساب‬
‫و‬
‫عرض‬
‫اجمالي‬
‫ما‬
‫يتقاضاه‬
‫كل‬
‫موظف‬
‫اذا‬
‫علمت‬
‫ان‬
‫نسبة‬
‫العمولة‬
‫هي‬
0.5
.
‫الحل‬
ً‫الحظ‬
‫ان‬
ً‫الخصائصًالموجودةًفي‬
classCommEmployee
ً‫مشابهةًلخصائص‬
classSalaryEmployee
ً‫الحظًان‬
ً‫دالةًالبناءًفي‬
classCommEmployee
ً‫مشابهة‬
ًً‫لدالةًالبناء‬
classSalaryEmployee
‫الحل‬

‫تطبيق‬
‫اثة‬‫ر‬‫الو‬

‫تعتبر‬
class
‫موظف‬
‫تب‬‫ر‬‫م‬
‫مع‬
‫عمولة‬
‫ثر‬‫اك‬
‫خصائص‬
‫من‬
class
‫موظف‬
،‫عمولة‬
‫حيث‬
‫تحتوي‬
class
‫موظف‬
‫تب‬‫ر‬‫م‬
‫مع‬
‫عمولة‬
‫على‬
‫خاصية‬
‫تب‬‫ر‬‫الم‬
.

‫تعتبر‬
class
‫االقل‬
‫خصائص‬
‫هي‬
superclass
‫و‬
‫هي‬
class
‫موظف‬
‫العمولة‬

‫تعتبر‬
class
‫موظف‬
‫تب‬‫ر‬‫م‬
‫مع‬
‫عمولة‬
‫كبر‬‫ا‬
‫و‬
‫ثر‬‫ك‬‫ا‬
،‫خصائص‬
‫فستكون‬
‫هي‬
subclass
.
‫الحل‬
java programming language- lecture8 (1).pptx

ً‫ًنقومًبتغييرًدالةًالبناءًفي‬،‫بنفسًالطريقة‬
subclass
ً‫وًهي‬
class
‫تب‬‫ر‬‫موظفًم‬
&
‫عمولةًلتصبحًكماًيلي‬
:

ً‫تبقىًدالةًالبناءًفي‬
superclass
‫كماًهيًدونًتغيير‬
:
ً‫معدلًالوصول‬
protected

‫لحماية‬
‫المتغير‬
sale
‫من‬
،‫التغيير‬
‫نستخدم‬
‫معدل‬
‫الوصول‬
protected
‫كي‬
‫نسمح‬
‫ي‬‫ال‬
‫كائن‬
‫من‬
superclass
‫او‬
subclass
‫ان‬
‫يصل‬
‫اليها‬
.

‫ال‬
‫يمكن‬
‫لكائن‬
‫من‬
subclass
‫ان‬
‫يصل‬
‫الى‬
‫متغير‬
private
‫في‬
superclass
،
‫لذلك‬
‫نستخدم‬
‫معدل‬
‫الوصول‬
protected
‫بدال‬
‫من‬
private
‫كما‬
‫يلي‬
:
ً‫معدلًالوصول‬
protected

‫يمكن‬
‫الوصول‬
‫إلى‬
‫عضاء‬‫ا‬
superclass
‫المحميون‬
‫من‬
‫قبل‬
‫عضاء‬‫ا‬
superclass
‫و‬
‫عضاء‬‫ا‬
subclasses
‫و‬
classes
ً‫ى‬‫خر‬‫اال‬
‫في‬
‫نفس‬
‫الحزمة‬
-
‫يتمتع‬
‫عضاء‬‫اال‬
‫المحميون‬
‫ا‬‫يض‬‫ا‬
‫بإمكانية‬
‫الوصول‬
‫إلى‬
ً
‫ز‬‫الح‬
‫مة‬
.

‫يحتفظ‬
‫جميع‬
‫عضاء‬‫ا‬
superclass
‫العامة‬
‫و‬
‫المحمية‬
‫ل‬ ِّ‫بمعد‬
‫الوصول‬
‫صلي‬‫اال‬
‫الخاص‬
‫بهم‬
‫عندما‬
‫يصب‬
‫حون‬
ً‫عضاء‬‫ا‬
‫في‬
subclasses
،
‫حيث‬
‫يصبح‬
‫عضاء‬‫اال‬
‫بمعدل‬
‫الوصول‬
‫عام‬
‫في‬
superclass
ً‫عضاء‬‫ا‬
‫بنفس‬
‫معدل‬
‫الوصول‬
‫في‬
subclasses
،
‫ويصبح‬
‫عضاء‬‫اال‬
‫المحميون‬
‫من‬
superclass
ً‫عضاء‬‫ا‬
‫محميين‬
‫في‬
subclasses
.
‫اثة‬‫ر‬‫الو‬‫على‬‫مثلة‬‫ا‬‫يبين‬ ‫جدول‬
ً‫الدالة‬
toString

‫تحتوي‬
object class
‫ئيسية‬‫ر‬‫ال‬
‫على‬
‫مجموعة‬
‫من‬
‫الدوال‬
‫التي‬
‫يمكن‬
‫استخدامها‬
‫في‬
‫ي‬‫ا‬
‫نامج‬‫ر‬‫ب‬
‫لت‬
‫نفيذ‬
‫غرض‬
‫معين‬
.
‫و‬
‫من‬
‫اهمها‬
toString()
‫التي‬
‫ستخدم‬ُ‫ت‬
‫لعرض‬
‫مجموعة‬
‫من‬
‫البيانات‬
‫لكائن‬
،‫ما‬
‫و‬
‫هي‬
‫تشبه‬
‫الشكل‬
‫العام‬
‫لدالة‬
‫العرض‬
printf
،
‫و‬
‫الشكل‬
‫العام‬
‫لها‬
‫هو‬
:

‫و‬
‫يتم‬
‫استدعاء‬
‫الدالة‬
toString()
ً‫ظاهريا‬
‫باستخدام‬
‫الشكل‬
‫التالي‬
:
‫ين‬‫ر‬‫تم‬

‫تب‬‫اك‬
‫نامج‬‫ر‬‫ب‬
‫يكون‬
‫ثالثة‬
‫تصانيف‬
(
A,B,C
)
‫كل‬
‫تصنيف‬
‫يحتوي‬
‫على‬
‫دالة‬
‫طباعة‬
‫بياناته‬
‫وايضا‬
‫رسالة‬
‫تفيد‬
‫بإتمام‬
‫عملية‬
‫الطباعة‬
.

‫بإستخدام‬
‫اثة‬‫ر‬‫الو‬
‫كون‬
‫كائن‬
‫واحد‬
‫ومن‬
‫خالله‬
‫استدعي‬
‫دالة‬
‫الطباعة‬
‫لكل‬
‫التصانيف‬
.
java programming language- lecture8 (1).pptx

More Related Content

PPTX
Algorithms_Design_powerPoint_slide9.pptx
fatmaolowa
 
PPTX
Algorithms_Design_powerPoint_slides.pptx
fatmaolowa
 
PPTX
GS301 2023-java programming language lecture 1 _ .pptx
fatmaolowa
 
PPTX
data structure using c++ programmingppt
fatmaolowa
 
PPTX
java programming language- lecture3.pptx
fatmaolowa
 
PPTX
java programming language- lecture9 (1).pptx
fatmaolowa
 
PDF
data structure using c++ language- Lecture6.pdf
fatmaolowa
 
PDF
java programming language - Lecture7.pdf
fatmaolowa
 
Algorithms_Design_powerPoint_slide9.pptx
fatmaolowa
 
Algorithms_Design_powerPoint_slides.pptx
fatmaolowa
 
GS301 2023-java programming language lecture 1 _ .pptx
fatmaolowa
 
data structure using c++ programmingppt
fatmaolowa
 
java programming language- lecture3.pptx
fatmaolowa
 
java programming language- lecture9 (1).pptx
fatmaolowa
 
data structure using c++ language- Lecture6.pdf
fatmaolowa
 
java programming language - Lecture7.pdf
fatmaolowa
 

Recently uploaded (11)

PPTX
شرح الاشكال الهندسية Geometry shapes.pptx
Ahmed Shahin
 
PPTX
توثيق المصادر والمراجع العلمية في البحوث pptx
ssuser14c7ab2
 
DOCX
أثر السجود و احْفُوا الشَّوَارِبَ وَاعْفُوا اللِّحَىة
dhiwanululumbanyuwan
 
PPTX
زنننننننوهىن ةعلااسباب الثورة المهدية.pptx
meltayeb2002
 
PPTX
Audiovisual Systems engineering LECTURE4- 5 .pptx
menanezar3
 
PPTX
الدولة_المهدية_في_عهد_الخليفة_عبد_الله.pptx
meltayeb2002
 
PDF
خطة دورة السلامة والصحة المهنية
مركز نخبة العلم للتدريب
 
PDF
GROUP 5. MAHARAH AT-TA’ZIZ. BAMB2102R.PI3
khalisa26
 
PDF
Lecture (4).pdf\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
aimanabdalbasit100
 
PPTX
التقويم بانواعه.pptxالتقويم القبلي ووالتكويني والنهائي
anwaarabusafa
 
PDF
المجموعة الأولى _ البحوث المقبولة _ المؤتمر الدولي الحادي عشر حول القضايا الر...
The Annual International Conference on Languages, Linguistics, Translation and Literature
 
شرح الاشكال الهندسية Geometry shapes.pptx
Ahmed Shahin
 
توثيق المصادر والمراجع العلمية في البحوث pptx
ssuser14c7ab2
 
أثر السجود و احْفُوا الشَّوَارِبَ وَاعْفُوا اللِّحَىة
dhiwanululumbanyuwan
 
زنننننننوهىن ةعلااسباب الثورة المهدية.pptx
meltayeb2002
 
Audiovisual Systems engineering LECTURE4- 5 .pptx
menanezar3
 
الدولة_المهدية_في_عهد_الخليفة_عبد_الله.pptx
meltayeb2002
 
خطة دورة السلامة والصحة المهنية
مركز نخبة العلم للتدريب
 
GROUP 5. MAHARAH AT-TA’ZIZ. BAMB2102R.PI3
khalisa26
 
Lecture (4).pdf\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
aimanabdalbasit100
 
التقويم بانواعه.pptxالتقويم القبلي ووالتكويني والنهائي
anwaarabusafa
 
المجموعة الأولى _ البحوث المقبولة _ المؤتمر الدولي الحادي عشر حول القضايا الر...
The Annual International Conference on Languages, Linguistics, Translation and Literature
 
Ad
Ad

java programming language- lecture8 (1).pptx