:: # دورة النظم المتقدمة في المحاسبة وتحقيق الرقابة المالية وتقييم الأداء#30يونيه 2024م (آخر رد :جهاد سعيد)       :: # دورة إعداد التقارير و المراسلات والأرشفة#2 يونيه 2024م #اسطنبول#metc (آخر رد :جهاد سعيد)       :: خدمات شركة الحمد (آخر رد :soha mag)       :: # دورة الادارة الامنة للشبكات وأنظمة التشغيل#7 يوليو 2024م #القاهرة#metc (آخر رد :جهاد سعيد)       :: # دورة استراتيجيات التخطيط في إدارة الأزمات#23 يونيه 2024م #دبي#metc (آخر رد :جهاد سعيد)       :: خدمات شركة الحمد (آخر رد :soha mag)       :: # دورة إعداد ميزانية برامج الصيانة الإنتاجية#2 يونيه 2024م #القاهرة#metc (آخر رد :جهاد سعيد)       :: # دورة الاستراتيجيات المتقدمة للمشتريات والمخازن وادارة الخدمات اللوجستية#2 يونيه 202 (آخر رد :جهاد سعيد)       :: شركة الحمد وفروعها (آخر رد :soha mag)       :: #دورة الإبتكار في تطبيقات الذكاء الإصطناعي للتميّز المؤسسي #26 مايو 2024م #دبي#metc (آخر رد :جهاد سعيد)      
اختر لونك:
وَقُلِ اعْمَلُوا فَسَيَرَى اللَّهُ عَمَلَكُمْ وَرَسُولُهُ وَالْمُؤْمِنُونَ ۖ وَسَتُرَدُّونَ إِلَىٰ عَالِمِ الْغَيْبِ وَالشَّهَادَةِ فَيُنَبِّئُكُم بِمَا كُنتُمْ تَعْمَلُونَ [ التوبة : ( 105 )] كلمة الإدارة

يرجى إختيار القسم المناسب قبل النشر وسيعاقب المخالف بإنذار أول مرة وسيتم حظره إذا تكرر ذلك كلمة الإدارة

يُمنع كتابة مواضيع السحر والشعوذة والروحانيات والابراج بكافة الأشكال والمخالف سيعاقب بحظر مؤقت وإذا تكرر سيكون حظر دائم تنبيه هام جداً



أضف رد جديد
 
LinkBack أدوات الموضوع انواع عرض الموضوع

قديم 28-02-2019, 06:31 PM   #1
الصورة الرمزية سالجان
تاريخ التسجيل: Feb 2019
العمر: 24
المشاركات: 1,000
التقييم: 10
الصورة الرمزية سالجان
تاريخ التسجيل: Feb 2019
العمر: 24
المشاركات: 1,000
التقييم: 10
افتراضي التغليف Encapsulation في البرمجة الكائنية


التغليف Encapsulation في البرمجة الكائنية
طريقة في تحزيم البيانات data والطُرق methods التي تستخدم البيانات.

التجريد Abstraction في البرمجة الكائنية
يجب على الاقتران الحاصل من: الوراثة والطُرق methods والخاصيات properties لكائن معقد وشائك التمثيل برمجيًا أن يعكس الواقع المراد محاكاته في البرمجة الكائنية.

تعددية الأشكال Polymorphism في البرمجة الكائنية
تحمل كلمة Poly بحد ذاتها المعنى "متعدد" وتحمل الكلمة morphism المعنى "أشكال، ويُشير المفهوم ككل إلى أن أكثر من صنف قد يُعرّف نفس الطريقة method أو الخاصية property.

البرمجة المعتمدة على النموذج الأولي Prototype
البرمجة المعتمدة على النموذج الأوّلي (Prototype-based programming) ما هي إلا نموذج من البرمجة الكائنية OOP ولكنها لا تستخدم الأصناف classes، بل تقوم أولًا بإعداد سلوك أي صنف class ما ومن ثم تُعيد استخدامه، ويُطلق البعض على هذا النموذج: البرمجة بلا أصناف classless، أو البرمجة المَبْدَئِية المنحى prototype-oriented، أو البرمجة المعتمدة على الأمثولة instance-based).

يعود أصل اللغة المعتمدة على النموذج الأولي إلى لغة Self، والتي طوّرها David Ungar وRandall Smith، ولكن أسلوب البرمجة بدون أصناف class-less توسّع ونال شهرة كبيرة في العقد الأخير، واُعتمد من قبل العديد من اللغات البرمجية أشهرهم جافا سكريبت.

البرمجة الكائنية باستخدام جافا سكريبت
المجال Namespace في جافا سكريبت
المجال هو أشبه بمستوعب/بحاوية (container) تسمح للمطوّر في تحزيم وظائف تحت اسم فريد، أو اسم تطبيق محدد، ففي جافا سكريبت المجال هو مجرد كائن object كأي كائن آخر يحتوي على طُرق methods، وخاصيات properties، وحتى كائنات objects.

ملاحظة هامة: من المهم جدًا الانتباه إلى أنه في جافا سكريبت، لا يوجد فرق بين الكائنات العادية والمجالات namespaces، وهذا يختلف عن اللغات الكائنية الأخرى، الأمر الذي قد يُربك المبرمجين المبتدئين في جافا سكريبت.

إن إنشاء مجال namespace في جافا سكريبت بسيطٌ للغاية، فمن خلال إنشاء كائن عام/مشترك/شامل global، ستصبح جميع المُتغيّرات variables والطرق methods، والدوال functions خاصياتٍ لهذا الكائن، ويٌقلل استخدام المجالات namespaces أيضًا من احتمالية تضارب الأسماء في التطبيق، منذ أن كل كائن من كائنات التطبيق ما هي إلى خاصيات كائن شامل/عام معرّفة على مستوى التطبيق.

سيُنشئ في الخطوة التالية كائنًا عامًا global وبالاسم MYAPP:

// global namespace
var MYAPP = MYAPP || {};
يُظهر المثال السابق، كيف تم التأكّد أولًا فيما إذا كان MYAPP معرفًا (سواء في نفس الملف أو في آخر)، ففي حال الإيجاب سيُستخدم الكائن العام MYAPP، وفي حال عدم تعريفه مُسبقًا سيُنشئ كائنًا خالٍ وبالاسم MYAPP والذي سيغلّف encapsulate الطرق methods والدوال functions والمتغيرات variables والكائنات objects.

كما يُمكن أيضًا إنشاء مجال فرعي sub-namespaces:

// sub namespace
MYAPP.event = {};
يوضّح المثال التالي الصيغة المستخدمة في إنشاء مجال namespace وإضافة متغيرات ودوال:

// Create container called MYAPP.commonMethod for common method and properties
MYAPP.commonMethod = {
regExForName: "", // define regex for name validation
regExForPhone: "", // define regex for phone no validation
validateName: function(name){
// Do something with name, you can access regExForName variable
// using "this.regExForName"
},

validatePhoneNo: function(phoneNo){
// do something with phone number
}
}

// Object together with the method declarations
MYAPP.event = {
addListener: function(el, type, fn) {
// code stuff
},
removeListener: function(el, type, fn) {
// code stuff
},
getEvent: function(e) {
// code stuff
}

// Can add another method and properties
}

// Syntax for Using addListener method:
MYAPP.event.addListener("yourel", "type", callback);


سالجان غير متواجد حالياً   اقتباس
أضف رد جديد

الكلمات الدلالية (Tags)
منتديات رحيل, رحيل, شبكة رحيل, r7il, r7il.com


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
36. دورة دوت نيت كور - مدخل سريع إلى البرمجة الكائنية Object Oriented Programming (OO القيصر قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 13-05-2019 09:25 PM
اساسيات تعلم البرمجة | هام جدا للمبتدئين – سين وجيم أول خطوة القيصر قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 11-03-2019 06:51 AM
البرمجة للمبتدئين – تعرف على أهم الأمور اللازمة للبدأ في هذا المجال القيصر قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 11-03-2019 06:22 AM
التغليف Encapsulation سالجان قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 28-02-2019 06:35 PM
البرمجة الكائنية Object-oriented programming سالجان قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 28-02-2019 06:31 PM


الساعة الآن 06:42 AM

 


Content Relevant URLs by vBSEO ©2010, Crawlability, Inc.