منتديات النورس
عزيزي الزائر مرحبا بكـ

يرجى الدخول أو التسجيل إذا كنت ترغب في الإنضمام إلينا

تذكر أن هذا المنتدى يحتاج لتفعيل تسجيلك من الإيميل

شكراً


منتديات النورس
عزيزي الزائر مرحبا بكـ

يرجى الدخول أو التسجيل إذا كنت ترغب في الإنضمام إلينا

تذكر أن هذا المنتدى يحتاج لتفعيل تسجيلك من الإيميل

شكراً


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

منتديات النورس

أفضل منتدى عربي
 
الرئيسيةأفضل منتدى عربيأحدث الصورالتسجيلدخول

 

 بحت عن الوراثة في مادة البرمجة الشيئية

اذهب الى الأسفل 
3 مشترك
كاتب الموضوعرسالة
ياقوتة
*
*
ياقوتة


انثى

السمك

المشاركات : 29

العمـر : 37

المزاج : بحت عن الوراثة في مادة البرمجة الشيئية Pi-ca-20

الدولة : بحت عن الوراثة في مادة البرمجة الشيئية Libya12

المهنة : بحت عن الوراثة في مادة البرمجة الشيئية Studen10

الهواية : بحت عن الوراثة في مادة البرمجة الشيئية Swimmi10

التسجيل : 01/04/2009

النقاط : 48

التقييم : 1

رسالة sms [updown‏[‏[/updown]اللهم يامقلب القلووب ثبت قلوبنا على دينك

بحت عن الوراثة في مادة البرمجة الشيئية Empty
مُساهمةموضوع: بحت عن الوراثة في مادة البرمجة الشيئية   بحت عن الوراثة في مادة البرمجة الشيئية Emptyالإثنين يونيو 01, 2009 3:00 am

:###:



السلام عليكم بدي بحث بخصوص الوراثة بليييييز ساعدوني وتكون في امثلة عالوراثة



:اللهم:
الرجوع الى أعلى الصفحة اذهب الى الأسفل
????
زائر
avatar



بحت عن الوراثة في مادة البرمجة الشيئية Empty
مُساهمةموضوع: رد: بحت عن الوراثة في مادة البرمجة الشيئية   بحت عن الوراثة في مادة البرمجة الشيئية Emptyالإثنين يونيو 01, 2009 3:28 am

بحت عن الوراثة في مادة البرمجة الشيئية Bismillah1al8ba2



oriented ProgrammingL (لغات البرمجة الشيئية)



البرمجة كائنية المنحى - -- -- -- -- -- --oriented programming - OOP (ويطلق عليها أحيانا اسم: برمجة غرضية المنحى ، أو برمجة شيئية مع أن هذه الأخيرة لا تعتبر ترجمة محبذة) عبارة عن نمط برمجة متقدم، وفيه يقسم البرنامج إلى وحدات تسمى الكائنات (- -- -- -- -- -- -s)، كل كائن عبارة عن حزمة (تعليب) من البيانات (المتغيرات والثوابت) والدوال ووحدات التنظيم وواجهات الاستخدام . ويتم بناء البرنامج بواسطة استخدام الكائنات وربطها مع بعض وواجهة البرنامج الخارجية باستخدام هيكلية البرنامج وواجهات الاستخدام الخاصة بكل كائن.
أسماء عربية أخرى:
• برمجة موجهة
• برمجة كائنية (برمجة كينونة)
• برمجة كائنية التوجه
• برمجة غرضية التوجه
• برمجة كائنية المنحى (أو المنحى)
• برمجة بالعناصر

البرمجة الشيئية تتضمن ثلاث مبادئ أساسية: abstract data type,inheritance and dynamic binding إضافة إلى information hiding, interfaces and polymorphism.و تنقسم هذه اللغات إلى لغات بحتة مثل C++ و Smalltalk ولغات مهجنة مثل الـJava. البرمجة الشيئية تسرع من إمكانية تطوير برامج جديدة و إذا اُستخدمت بالشكل الصحيح تسهل عملية الصيانة و إعادة الاستخدام و التعديل.
سأتحدث باختصار عن الثلاث مبادئ الأساسية,بداية بمبدأ التجريد abstraction الذي يخفي تفاصيل العمليات عن العميل “سواء أكان المستخدم أو أي وحدة من البرنامج “,البيانات المجردة النوع أو الـclasses هي البيانات التي تحقق :الشرطين التاليين:
1-أن تكون العمليات و تعريف البيانات في نفس الوحدة البنائية مما يسهل تنظيم البرنامج في هيئة وحدات منطقية يمكن عمل complation لها بشكل منفصل.
2-أن يكون تمثيل - -- -- -- -- -- - من نوع ما مخفي عن وحدات البرنامج التي تستخدم نفس النوع.
تكمن أهمية إخفاء المعلومات”أي إخفاء التمثيل الفعلي للبيانات” في أن العميل لن يستطيع تغييرالـ- -- -- -- -- -- -s لا عنوة و لا عن طريق الخطأ, فالطريقة الوحيدة لتغييرها العمليات المسموح بها في اللغة.
المبدأ الثاني : الوراثة inheritance مبدأ قوي يمكّن من إعادة استخدام البرمجيات software .عدة اصطلاحات مختصة بهذا المبدأ:
Subclass“derived class”:is the class which defined through inheritance from another class . it inherits all of the entities( variables and methods) of its parent class if they are public.
method:subprogram that define the operations on - -- -- -- -- -- -s of the class.
- -- -- -- -- -- -s:the instances of abstract data type.
message protocol “message interface”:the entire collection of methods of the - -- -- -- -- -- -.
المبدأ الثالث: الربط الديناميكي هو ربط (عملية تحويل العناوين الرمزية ضمن البرنامج إلى عنواين متعلقة بمواقع التخزين في الذاكرة)يحدث أثناء تنفيذ البرنامج.
.

البرمجة الكائنية عبارة عن نمط برمجة متخصص في المفاهيم التالية:
• الكائنات - -- -- -- -- -- -s - حزم وتعليب البيانات والدوال الوظيفية معاً في وحدات تعمل ضمن برنامج نشط. الكائنات هي أساس هيكلية برمجة الحاسوب الكائنيّة.
• التجريد Abstraction - قدرة البرنامج على تجاهل بعض واجهات المعلومات المتلاعبة، أي التركيز على المفهوم الأساسي للكائن وهيكليته النظرية وتجريدة من طريقة العمل النهائية والتوجهات الخارجية.
• التغليف Encapsulation - التأكد أن المستخدم لا يستطيع أن يغير البيانات الداخلية لكائن بطريقة مفاجئة، فقط دوال الكائن الداخلية يسمح لها بتعديل حالة الكائن وبياناته. أي أن لايمكن التلاعب بالكائن وتغير معلوماته بأي طريقة بل أن هناك واجهة أستخدام خاصة يضعها المبرمج ومن خلالها يمكن تغيير بيانات الكائن الداخلية وحالته.
• تعدد الأوجه Polymorphism - بدلاً من استدعاء الإجراءات الفرعية مباشرة، تستطيع البرمجة الشيئية إرسال رسائل، الإجراء المعين الذي يتم نداؤه نتيجة الرسالة يعتمد على نوع الكائن الذي أُرسل له. أي أنه باستخدام نفس اسم الاستدعاء يمكن استدعاء إجراءات ودوال مختلفة اعتماداً على نوع الكائن.
• الوراثة Inheritance - يستطيع الكائن وراثة خصائص كائن معين والزيادة عليها دون أن يتأثر الكائن الأصلي. فقد يكون هناك كائن اسمه مركبة في الخصائص العامة لكل المركبات مثل الاسم واللون ورقم التسجيل، الكائن الطائرة ممكن أن يرث الكائن مركبة ويضيف عليه خصائص الطائرة، كذلك يمكن أن يكون هناك مثلاً كائن مربع فيه خصائص الطول والعرض ويمكن للكائن مكعب أن يرث من المربع ويضيف عليه خصائص العمق والحجم.
مثال على تعددية الأوجه: إذا افترضنا أن المتغير مركبة يشير إلى كائن إما أن يكون سيارة أو سفينة أو طائرة. فإذا أردنا في المثال للطائرة أن تطير وللسيارة أن تمشي وللسفينة أن تبحر فعلينا أولاً معرفة نوع الكائن ثم إعطاء الأمر؛ أي إذا كان مركبة هو كائن من نوع سفينة فالمركبة يجب أن تبحر، ولكن مع تعددية الأوجه يمكننا أن ننشئ دالة واحدة في كل كائن اسمها تحرك (الدالة تحرك في السفينة تقوم بالأبحار والدالة تحرك في الطائرة تقوم بالطيران..الخ). الآن ليس يجب علينا أن نعرف نوع الكائن فكل ما علينا فعله هو نداء تحرك للمركبة، هذا سيقوم باستدعاء دالة تحرك الخاصة بالكائن الحالي فإذا كان الكائن سفينة فهذا يعني أن الدالة تحرك الخاصة بالسفينة ستسدعى والتي ستقوم بأبحار السفينة.

أرجو ان يكون المطلوب ...
الرجوع الى أعلى الصفحة اذهب الى الأسفل
ياقوتة
*
*
ياقوتة


انثى

السمك

المشاركات : 29

العمـر : 37

المزاج : بحت عن الوراثة في مادة البرمجة الشيئية Pi-ca-20

الدولة : بحت عن الوراثة في مادة البرمجة الشيئية Libya12

المهنة : بحت عن الوراثة في مادة البرمجة الشيئية Studen10

الهواية : بحت عن الوراثة في مادة البرمجة الشيئية Swimmi10

التسجيل : 01/04/2009

النقاط : 48

التقييم : 1

رسالة sms [updown‏[‏[/updown]اللهم يامقلب القلووب ثبت قلوبنا على دينك

بحت عن الوراثة في مادة البرمجة الشيئية Empty
مُساهمةموضوع: رد   بحت عن الوراثة في مادة البرمجة الشيئية Emptyالإثنين يونيو 01, 2009 3:50 am

مشكور=18]مشكور اخي مسافر بس انا بدي عالوراثة ياريت تساعدوني
:^^:
الرجوع الى أعلى الصفحة اذهب الى الأسفل
????
زائر
avatar



بحت عن الوراثة في مادة البرمجة الشيئية Empty
مُساهمةموضوع: رد: بحت عن الوراثة في مادة البرمجة الشيئية   بحت عن الوراثة في مادة البرمجة الشيئية Emptyالإثنين يونيو 01, 2009 4:03 am

ياقوتة البحث مذكور فيوو عن الوراثة

انت شوفي اخرووو

اذا بدك عن الوراثة من الناحية العلمية حددي
الرجوع الى أعلى الصفحة اذهب الى الأسفل
المنسيه
*****
*****
المنسيه


انثى

الاسد

المشاركات : 6786

العمـر : 35

المزاج : بحت عن الوراثة في مادة البرمجة الشيئية Pi-ca-11

الدولة : بحت عن الوراثة في مادة البرمجة الشيئية Jordan10

المهنة : بحت عن الوراثة في مادة البرمجة الشيئية Office10

الهواية : بحت عن الوراثة في مادة البرمجة الشيئية Writin10

التسجيل : 19/03/2009

النقاط : 8219

التقييم : 101

رسالة sms لاااااااااااا احمل الورد احمل طوق احزاني
mms أعلـــــــــــن موتي فقد مت حرقا بلوعتــــي

بحت عن الوراثة في مادة البرمجة الشيئية Empty
مُساهمةموضوع: رد: بحت عن الوراثة في مادة البرمجة الشيئية   بحت عن الوراثة في مادة البرمجة الشيئية Emptyالإثنين يونيو 01, 2009 9:36 am

بحت عن الوراثة في مادة البرمجة الشيئية 1352239509498164649
الرجوع الى أعلى الصفحة اذهب الى الأسفل
ياقوتة
*
*
ياقوتة


انثى

السمك

المشاركات : 29

العمـر : 37

المزاج : بحت عن الوراثة في مادة البرمجة الشيئية Pi-ca-20

الدولة : بحت عن الوراثة في مادة البرمجة الشيئية Libya12

المهنة : بحت عن الوراثة في مادة البرمجة الشيئية Studen10

الهواية : بحت عن الوراثة في مادة البرمجة الشيئية Swimmi10

التسجيل : 01/04/2009

النقاط : 48

التقييم : 1

رسالة sms [updown‏[‏[/updown]اللهم يامقلب القلووب ثبت قلوبنا على دينك

بحت عن الوراثة في مادة البرمجة الشيئية Empty
مُساهمةموضوع: رد بحث الوراثة في البرمجة الشيئية   بحت عن الوراثة في مادة البرمجة الشيئية Emptyالإثنين يونيو 01, 2009 5:21 pm

[size=18]السلام عليكم مشكورين على جهودكم الطيبة :)(: عزيزي مسافر بدي البحث بخصوص موضوع الوراثة ورح اعطيك اكسامبل
مبدأ الوراثة:


الوراثة هو مايجعل اللغة، لها المكانة العليا بين لغات البرمجة الأخريات، لأنها ببساطة تمكن الحاسب من التفكير في الأشياء كما يفكر الإنسان عن الأشياء التي حوله، "إنا نقترب من عصر يفهم الحاسب ما نحن فيه." كي أكون أكثر وضوحاً عن الوراثة، خذ المثال التالي:

الوراثة: هو إمكانية اكتساب Class جديد "خصائص واساليب" Class آخر هو بالأصل ينتمي إليه.
مثال:
Class جوال Nokia: يرث من Class جوال الذي يمتاز بأن له لوحة مفاتيح وبالقدرة على الاتصال. ويزيد عليه قابلية لعب الحية snake به.

Class أسد: يرث من Class الثدييات الذي يمتاز بأنه يلد. ويزيد عليه أنه حيوان مفترس وغيره من الزيادات.

Class الثدييات: يرث من Class الحيوان الذي يمتاز بأنه يأكل وينام ويموت. ويزيد عليه بأنه يلد.



:مع:[/center]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
نورس
*********
*********
نورس


ذكر

العقرب

المشاركات : 30951

العمـر : 93

تعاليق : مؤسس منتدى النورس

المزاج : بحت عن الوراثة في مادة البرمجة الشيئية Pi-ca-16

الدولة : بحت عن الوراثة في مادة البرمجة الشيئية 0mhmou10

المهنة : بحت عن الوراثة في مادة البرمجة الشيئية Doctor10

الهواية : بحت عن الوراثة في مادة البرمجة الشيئية Unknow11

التسجيل : 09/10/2008

النقاط : 39243

التقييم : 1559

رسالة sms

أنا رجل لم أتعود إلآ لعب

دور البطولة وغير البطولة

لآ أرضى . أنسحب لأترك

ذلك الدور لمن يستحق

وكفى ...

mms بحت عن الوراثة في مادة البرمجة الشيئية 6c7ed02fc5


بحت عن الوراثة في مادة البرمجة الشيئية Empty
مُساهمةموضوع: رد: بحت عن الوراثة في مادة البرمجة الشيئية   بحت عن الوراثة في مادة البرمجة الشيئية Emptyالإثنين يونيو 01, 2009 9:30 pm

مبدأ الوراثة:

الوراثة هو مايجعل اللغة، شيئية التوجه Java أو C#، لها المكانة العليا بين لغات البرمجة الأخريات، لأنها ببساطة تمكن الحاسب من التفكير في الأشياء كما يفكر الإنسان عن الأشياء التي حوله، "إنا نقترب من عصر يفهم الحاسب ما نحن فيه." كي أكون أكثر وضوحاً عن الوراثة، خذ المثال التالي:

الوراثة: هو إمكانية اكتساب فئة Class جديد "مكونات وأعمال"(راجع الدرس السابق) فئة آخر هو بالأصل ينتمي إليه.
مثال:
فئة جوال Nokia: يرث من فئة جوال الذي يمتاز بأن له لوحة مفاتيح وبالقدرة على الاتصال. ويزيد عليه قابلية لعب الحية snake به.

فئة أسد: يرث من فئة الثدييات الذي يمتاز بأنه يلد. ويزيد عليه أنه حيوان مفترس وغيره من الزيادات.

فئة الثدييات: يرث من فئة الحيوان الذي يمتاز بأنه يأكل وينام ويموت. ويزيد عليه بأنه يلد.

الزر Button: يرث من فئة Component الذي يمتاز بأنه يمكن التعامل به وأخذ بيانات منه. ويزيد عليه بأنه يقبل الإدخال عن طريق الضغط على الفأرة.

حاوي الكلمات TextField: يرث من فئة Component الذي يمتاز بأنه يمكن التعامل به وأخذ بيانات منه. ويزيد عليه بأنه يقبل الإدخال عن طريق لوحة المفاتيح.

فئة Component: يرث من فئة شيء Object الذي لا يمتاز بشيء. ولكن يزيد عليه أنه يمكن التعامل به وأخذ بيانات منه.

أعتقد أن الوراثة قد تفهم جيداً عن طريق تلك الأمثلة.
ملاحظة: الفئة الذي لا يرث من فئة معين، يرث من فئة شيء Object. الذي هو يقع في أعلى السلسلة.

الفائدة من الوراثة:
تخيل صديقاً لك لديه جوال Nokia وهو جالس إلى جوارك. وتخيل نفسك تريد الاتصال بأحد أقاربك. فقلت له: ممكن جوالك الـ Nokia؟ بالمنطق، سوف يعطيك جواله أليس كذلك؟؟
تخيل أنك قلت له: ممكن جوالك؟؟ (لم تقل جوالك الـNokia) بالمنطق أيضاً، زميلك سيعطيك جواله Nokia. لأن جواله الـNokia هو عبارة عن جوال. إذاً يمكنك الاتصال به.
تخيل أنك قلت له: ممكن جوالك Seimens؟ بالمنطق أيضاً سوف يرد عليك ويقول: ليس لدي جوال Seimens.

هل فهمتم هذه العلاقات والمبدأ؟ تخيل أنك تريد صنع برنامج يستخدم جوالاً للاتصال. إن المنطق يقول لك: لست مضطراً إلى ذكر نوع الجوال، بل يكفي أن تذكر أنك تريد جوالاً لبدأ العمل. فإنك لا تريد سوى الاتصال. فأيما أعطيت من أنواع من الجوالات فبرنامجك سيعمل بدون أي مشاكل.

تخيل أن لديك صندوق به مجموعة List من الأقلام مرتبة ترتيباً معيناً تستطيع من خلاله معرفة وتتبع الأقلام من الأصغر إلى الأكبر مثلاً. فلن يضرك إن لم تعرف نوعية هذا الترتيب. قد يكون مرقم ArrayList، أو سلسلة LinkedList، أو Stack أو Queue أو متجه Vector أو غيرها أو غيرها. فما دام أنها مجموعة List فإنك ستستطيع البحث فيه بطريقة أو بأخرى لا داعي لمعرفتها. فإنك بذلك تستطيع أن تأمر أحداً (أو تنادي على وسيلة Method أو Procedure أوSubdirectory (حسب ما يطيب لك تسميته) وتقول له: "يوجد بهذا الصندوق مجموعة List من الأقلام، الرجاء أن تأتيني بقلم أخضر اللون." لاحظ عدم ذكرك لنوعية المجموعة، فإن ذلك غير مهم معرفته لا لك ولا هو فإنه سيستطيع البحث فيه لأنه مجموعة List .

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

أعتقد بهذه الأمثلة، أن الفكرة اتضحت عن الوراثة ومفاهيمها وكيف أنها من ما يجعل البرمجة شيئية التوجه محبوبة بين المطورين. إلا أن هذا ليس كل مافي البرمجة الشيئة من إمكانيات تمكنك بها، فإن هذا فقط جزء من ما تعطيك إياه. في الدروس القادمة سنتابع المفاهيم الأخرى.
تصفح الصنف Component الذي يمثل شيئا يوضع على النافذة مثل الأزرار ومحتوي الكلمات TextField وغيرها مما تعرفه.. في JDK
http://java.sun.com/j2se/1.5.0/docs/api/ja.../Component.html
في MSDN لمستخدمي تقنية الدوت نت.

http://msdn.microsoft.com/library/default....tclasstopic.asp

تستطيع من خلال هذه الوصلات التعرف على الفئة أو الصنف Component الذي يمثل شيئا يوضع على النافذة. ليكن حديثي عن الJDK: في هذه الصفحة ستجد كيفية التعامل مع أي Component سواء كان Button زرا أو حاوي كلمات TextField وغيرهما مما تتعامل معه دائما. تستطيع تصفح العمليات Methods أو كيفية إنشاء Compoent من خلال Constructor. وتستطيع استنتاج أن Component يرث من Object. كما أن Button يرث من Component.

بعد هذا توجه إلى Button لترى حجم ما ورثه من Compoent وكيف أضاف عمليات خاصة به. مثل تغيير الاسم الذي يظهر عليه! وغيرها.

إن تمكنك من استعمال هذه المكتبات تسهل عليك التطور في هذه اللغات.


إن شاء الله يكون هذا اللي بدكــــ ياهـ
الرجوع الى أعلى الصفحة اذهب الى الأسفل
ياقوتة
*
*
ياقوتة


انثى

السمك

المشاركات : 29

العمـر : 37

المزاج : بحت عن الوراثة في مادة البرمجة الشيئية Pi-ca-20

الدولة : بحت عن الوراثة في مادة البرمجة الشيئية Libya12

المهنة : بحت عن الوراثة في مادة البرمجة الشيئية Studen10

الهواية : بحت عن الوراثة في مادة البرمجة الشيئية Swimmi10

التسجيل : 01/04/2009

النقاط : 48

التقييم : 1

رسالة sms [updown‏[‏[/updown]اللهم يامقلب القلووب ثبت قلوبنا على دينك

بحت عن الوراثة في مادة البرمجة الشيئية Empty
مُساهمةموضوع: رد بحث الوراثة في البرمجة الشيئية   بحت عن الوراثة في مادة البرمجة الشيئية Emptyالثلاثاء يونيو 02, 2009 5:15 pm

:ب1:





:==:

مشكور اخي النورس ع مجهودك يسلمو كثير
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
بحت عن الوراثة في مادة البرمجة الشيئية
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» لغة البرمجة , أنواع لغة البرمجة
» بحث علمي عن الامراض و الوراثة
» كتاب الوراثة والإنسان
» الوراثة وراء المواهب والهوايات
» البرمجة الخطية

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات النورس  :: ˚ஐ˚◦{ ♥ القســـم الثقـــافي ♥}◦˚ஐ˚ :: البحوث والمعلومات العامة -
انتقل الى: