Contenu connexe Similaire à Object Oriented Programming (20) Object Oriented Programming2. مقدمة
هي البرمجةال لحل الرياضية والوسائل الطرق استخداممشكالت
وسيط باستخدام(هوالحاسوب)المعا تلك ترجمة يمكنهدالت
بمخرجات والخروج معينة بمهام للقيام.
يت التي البرمجية التعليمات من مجموعة هو البرنامجتحليلها م
معينة مهام أو مهمة ألداء الحاسوب بواسطة وتنفيذها.
9. التوجه كائنية البرمجة
الشيئية البرمجة أو ه
ُّ
التوج كائنية البرمجة
(باإلنجليزية:Object Oriented Programming - OOP(وهي
تسم وحدات إلى البرنامج يقسم فيه برمجة نمط عن عبارةى
الكائناتObjects،البيانا على تشمل وحدة عن عبارة كائن كلت
(والثوابت اترالمتغي)والعمليات(الدوال.)
بعضه مع وربطها الكائنات بواسطة البرنامج بناء يتمالبعض ا
كائن بكل الخاصة االستخدام وواجهات أو الدوال باستخدام.
11. التوجه كائنية البرمجة لغات
هي الشيئية البرمجة تدعم التي البرمجة لغات أشهر من:-
جافا لغةJava
بايثون لغةPython
لغةدلفيDelphi
شارب سي لغةC#
12. البرمجة مفهومالتوجه كائنية
التوجه غرضية البرمجة
المنحى كائنية البرمجة
بالعناصر البرمجة
الكائ نحو الموجهة البرمجةنات
بالكائنات البرمجة
أسماءأخرى:-
الكينونية البرمجة
البرمجةالمنحى شيئية.
الموجهة البرمجة
الكائنية البرمجة
التوج الكائنية البرمجةه
13. التوجه كائنية البرمجة مفهوم
البر في التوجه كائنية البرمجة بتطبيق البدء قبلبك الخاصة امج
المفاهي بعض تعلم أوال عليك يجب كود أي كتابة وقبلم
األساسية.
م األساسية المفاهيم لهذه سنتطرق المحاضرة هذه فيثل:
الكائنObjectالصنف/الفئةClassاثةرالوInheritanceواجهة
التعاملInterfaceالحزمةPackageالجمل تركيبة عن نبذة مع
البرمجية(Syntax)الوقت نفس في.
14. التوجه كائنية البرمجة مفهوم
بال البرمجة ربط على الشيئية البرمجة فلسفة تقومالواقعية حياة
وعمليا خصائصه له كائن عن عبارة حولنا شيء كل أن حيثته.
ف الكائنات على األمثلة من العديد ستجد حولك نظرت إذاالحياة ي
و الهوائية اجةرالد ،الكرسي ،المكتب ،التلفاز مثل الحقيقةغيرها.
أن بينها فيما تشترك الحقيقة الحياة في الكائنات كلحالة لها
stateوسلوكbehavior.
الت كائنية البرمجة لفهم األساسي المفتاح هو الكائنوجه!
15. التوجه كائنية البرمجة مفهوم
الحالة
االسم
اللون
السالسة
أم جائعال
الحجم
السلوك
النباح
األشي جلباء
الذيل هز
الركض
النوم
17. التوجه كائنية البرمجة مفهوم
كا لكل ،بجوارك الموجودة الكائنات والحظ اآلن حولك انظرئن
التالية األسئلة نفسك اسأل:-
•؟ الكائن لهذا المحتملة الخصائص هي ما
•يمكن التي أو بها يقوم أن يمكن التي السلوكيات هي ماتقوم أن
؟ باستخدامه بها
18. التوجه كائنية البرمجة مفهوم
كبير حد إلى تشبه الشيئية البرمجة في الكائناتفي الكائنات
وسلوك خصائص له كائن كل أن حيث الواقعية الحياة.
الكائنObjectحقول في خصائصه بتخزين يقومfieldsأو
اترمتغيvariablesاألساليب خالل من سلوكه عن ويعبر
methodsالدوال أوfunctions.
الـ تعتبرmethodsاآلليةبين للتواصل األساسيةالobjectsفي
البرنامجالمسؤولة وهيخصائص تغيير عنال هذاobject.
20. التوجه كائنية البرمجة مفهوم
الصنف/الفئةClassالمخطط أو النموذج هوالذيعليه بناء يتم
م نسخة عن عبارة كائن كل يعتبر بحيث الكائنات إنشاءهذا ن
النموذجوالتي النموذج في الموجودة الخصائص نفس لهاقد
المختلفة الكائنات بين قيمها تختلف.
نف من اجاترالد من العديد ستجد الحقيقية الحياة فيالنوع س
م من ،المكونات نفس وبالتالي والمخطط ازرالط نفس ولهانظور
هي اجةرالد هذه أن القول يمكننا الشيئية البرمجةinstanceمن
اجةرد يسمى فئة أو صنفBicycle
مثال1
21. التوجه كائنية البرمجة مفهوم
كائن إنشاء عمليةobjectمنالصنفclassاستخدامه ثمتتم
ف األساسية بدايتها تكون والتي أخرى كائنات قبل منالـ يmain
methodالتطبيق بداية نقطة أو.
ف البرنامج اءزأج جميع بناء يتم المفهوم هذا نفس علىي
البرن يتكون حيث التوجه كائنية أو الشيئية البرمجةأصناف من امج
ClassesوكائناتObjectsاألصناف هذه من إنشاؤها يتم.
23. الفئة أو الصنفCLASS
الصنفClassوهولبناء الرئيسية الوحدة نموذجالـكائنObject
بمعنىنموذج أساس على كائن من أكثر تكوين يتم أنهالبناء
األساسيالـ وهوClassويمكنتشبيهبالقالب الصنفالذييقوم
أل الكائن هذا استخدام ذلك بعد ويمكن الكائن بتشكيلغرض ي
مطلوب.
25. الفئة أو الصنفCLASS
الصنفClassأو نموذج عن عبارة هو الشيئية البرمجة في
للكائنات مخططObjectsمجمو في بينها فيما تشترك التيعة
الخصائص من.
All object-oriented programming languages support
the concept of a class. a class provides a template for
objects that share common characteristics
26. الكائنOBJECT
الكائنObjectالـ من نسخة عن عبارة هو الجافا لغة فيClass،
الـ يتكونObjectالح في والمتمثلة البيانات من مجموعة منقول
الساكنة غيرnon-static fieldsالـ في المعرفةClassوالعمليات
عليها المعرفة.
A Java object is an instance of a class. Objects are
collections of data values, the individual elements of
which are described by the non-static field definitions
of the class and defined methods.
27. التوجه كائنية البرمجة مبادئ
public class Employee
private String id
public String lastName
public String getId()
public void setId(String id)
….
fields
methods
id = 211
lastName = Hasan
Employee
id = 301
lastName = Ibrahim
Employee
new Employee
new Employee
28. فوائدالبرمجةالتوجه كائنية
م عدة يوفر البرمجي الكود بناء في الكائن مفهوم استخداماياز:
التجزئةModularity
المعلومات إخفاءInformation-hiding
الكود استخدام إعادةCode re-use
قابليوالتصحيح االستبدال ةPluggability and debugging ease
اررالتك من التخلصEliminate Redundant Code
29. التوجه كائنية البرمجة مبادئ
أساسي مفاهيم عدة على التوجه كائنية البرمجة تعتمدهي ة:-
التغليفEncapsulation
التجريدAbstraction
اثةرالوInheritance
األشكال تعددPolymorphism
30. التغليفENCAPSULATION
التغليفEncapsulationالبيانات بإخفاء يعرف قد ما أوData
Hidingالـ قدرة وهوobjectاءاترواإلج الخصائص إخفاء على
با مع التعامل اتاحة ثم البرنامج اءزأج باقي عن به الخاصةاءزأج قي
عامة دوال خالل من البرنامجpublic methodsهذا يوفرها
الـobjectمعلوما أي معرفة دون خاللها من معه التفاعل يتمت
الـ لهذا الداخلية الحقول عن أو تنفيذها كيفية عنobject.
32. ACCESS MODIFIERS
لل الوصول إمكانية تحدد مفتاحية كلمات عن عبارة هيClasses
ال وVariablesال وMethodsال من خاص جزء وتعتبرSyntax
باللغة الخاصال مفهوم لتعزيز تستخدم والتيencapsulation.
ال المثال سبيل علىC++لها3فلها جافا أما وصول معدالت
وصول معدالت أربعة!
33. ACCESS MODIFIERS
Access Modifier ال داخلClass خارجالClass
ال داخلPackage
داخلالSubclass
ال خارجPackage
خارجالPackage
Private نعم ال ال ال
Default نعم نعم ال ال
Protected نعم نعم نعم ال
Public نعم نعم نعم نعم
34. التجريدABSTRACTION
الخاصة والتفاصيل الخصائص حجب عمليةبو الكائناإلبقاء
فقط األساسية والهيكلية العمليات عن واإلفصاح.
ال يعتبرabstractionإلى تؤدي التي الهامة المفاهيم من
المت اترالتأثي وتقليل البرنامج في التعقيد تقليلالتغيير على رتبة
والتعديل.
40. الـABSTRACT CLASS
الـAbstract Classعن عبارة هو المجرد الصنف أوClassيمكن ال
عملinstanceإنشاء يتم أن يمكن ال أنه أي منهobjectمن
ال هذاClass.
ال تعريف يتمClassبأنهabstractكلمة إضافة خالل من
abstractتعريفه إلى.
ال يحتوى قدabstract classعلىabstract methodواحدة
أي على يحتوى ال قد أو أكثر أوabstract method.
42. الـINTERFACE
ال أن القوم يمكننا عام بشكلinterfaceمن مجموعة هو
الrelated methodsأي على تحتوى الimplementations
الـ أن القول يمكنInterfaceيشبهالـ تركيبته فيclassأنه إال
يحتوىال على فقطsignatureبالـ الخاصmethodsدون
الـimplementationعمل يتم أن يجب والتيimplementation
ال لهذا اثةرو بعمل سيقوم الذي الكالس في لهاinterface.
44. الـINTERFACE
عملimplementلinterfaceلل يسمحclassأكثر يكون أن
به الخاص السلوك حيث من نظامية.
ال يشكلInterfaceال بين ما عقدclassويتم البرنامج وباقي
ال مرحلة في العقد هذا تنفيذcomplicationاجبار يتم بحيث
بعمل يقوم الذي الكالسimplementلinterfaceتعريف على
ال جميعmethodsال يحتويها التيinterface.
مثال4
46. األوجه تعددPOLYMORPHISM
خالل من األمر هذا يتم كان ائيةراإلج البرمجة لغات فيif .. else
أوswitch .. caseوبن البيانات هيكل نوع فحص يتم بحيثعليه اء
ال تحديدactionأن يكفي الشيئية البرمجة لغات في ولكنتقوم
ال باستدعاءmethodالمطلوبةتنفي لها سيكون بدورها والتيذ
ال صنف أو نوع حسب مختلفobjects.
50. الحزمةPACKAGE
الحزمةpackageعن عبارة هيnamespaceباحتواء تقوم
الclassesوالinterfacesببعضها المتعلقة.
ال اعتبار يمكنكpackageالخاص التخزين وحدة في مجلد بمثابة
بصفحات االحتفاظ المثال سبيل على يمكنك حيث ،بكHTMLفي
وال آخر مجلد في والصور مجلدscriptsوهكذا آخر مجلد في.