وظيفه تعمل setter و getter فى وقت واحد


السلام عليكم و رحمه الله تعالى و بركاته

قد شرحت كيفيه ادراج setter و getter فى الجافاسكربت بالتفصيل ، لكن مكتبه jQuery بها وظائف تعمل setter و getter فى نفس الوقت ، قد ناقش هذا الموضوع عمر الدليمى و كيفيه إدارج هذه الميزه فى لغه ال JAVA .

الوظيفه التى تعمل ك getter و setter فى نفس الوقت فى الجافاسكربت ماهى الا وظيفه عاديه تنظر الى العبارت التى تمرر لها ، لو وجدت العبارات المناسبه تعمل ك setter و لو لم تجد عبارات تعمل ك getter كما يوضح المثال البسيط التالى :

function User(name){ // User function constructor
    var name = name; // private variable
    this.name = function(newName){ // public method
        if(newName){
            name = newName; // set
        } else {
            return name; // get
        }
    }
}

يمكن استخداما الكود السابق كما يلى :

var me = new User("Mostafa Farghaly");
me.name(); // Mostafa Farghaly (getter)
me.name("John Resig"); // (setter)
me.name(); // John Resig (getter)

لا يمكنك عمل السابق بإستخدام الكلمه المفتاحيه get و set داخل ال object literal أو حتى بإستخدام __defineSetter__ و __defineGetter__ داخل ال function constructor .

الأوسمة: ,

2 تعليقان to “وظيفه تعمل setter و getter فى وقت واحد”

  1. almahjer Says:

    شكرا جزيلا بارك الله فيك

  2. عمر الدليمي Says:

    أليس أفضل أن تضع:
    بدل:

    if(newName)

    هذا الكود:

    if (arguments.length)

    حتى تكون setter كامل المواصفات ويقبل أي قيمة حتى null, 0, undefinded, false

    مش متأكد بالنسبة لundefined بس البقية رح ينحسبوا

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s


%d مدونون معجبون بهذه: