سؤال

هل هناك طريقة لتجميع حاصل/المحددات في AS3?فإنه من الشائع جدا أن يكون لديك فئة مع الكثير من المتغيرات خاصة في العمليات الحسابية (النموذج في نمط MVC), أن كنت ترغب في فضح.هل هناك شيء مثل تجميع الملكية في الهدف جيم, أن يسمح لتوليد حاصل/واضعي?

شكرا

نافا

هل كانت مفيدة؟

المحلول

وتحرير: إذا كنت ترغب في استخدام IDE (الكسوف). يمكنك الذهاب انقر بالزر الايمن على class-> Source-> توليد حاصل على واضعي

وليس من نفس استخدامها في توليف، ولكن إذا كنت ترغب فقط في فضح لهم وليس لديك لاستخدام التدوين getMethod ()، يمكن أن تساعدك على الإعلان عن الطرق مع الكلمات الرئيسية الحصول على / مجموعة من هذا القبيل.

public function get example() : int
{
             return example;
}
public function set example( value : String ) : void
{
             example = value;
}

عند استخدامه للمرة لك الوصول يمكنك استخدام المتغيرات كما لو كانت العام وسوف يطلق على الطرق بدلا من الوصول مباشرة

نصائح أخرى

يمكنك محاولة regex. أخذ نسخة احتياطية قبل محاولة هذا.

على سبيل المثال, إذا كان لديك private المتغيرات اسمه _str وتريد انها public جالبة/اضع اسمه str, يمكنك استخدام الأنماط التالية.ضرب Ctrl-F في flex builder (أو الكسوف) ، حدد regex خانة الاختيار إضافة الأنماط التالية إلى بحث واستبدال حقول الإدخال على التوالي.الآن ضرب 'العثور على' للعثور على الممتلكات إعلان وضرب 'محل' لتوليد اضع وجالبة.

^((\t)+)private\s+var\s+_(\w+):(\w+)\s*;\s*(\n)

$0$5$1public function set $3(value:$4):void$5$1{$5$1$2_$3 = value;$5$1}$5$5$1public function get $3():$4$5$1{$5$1$2return _$3;$5$1}$5$5

هذا النمط تم اختباره على

        private var _str:String;//indented by two tabs

و إنشاء بنجاح:

    private var _str:String;

    public function set str(value:String):void
    {
        _str = value;
    }
    public function get str():String
    {
        return _str;
    }

لتلك التي تستخدم فليكس باني 3 IDE، هناك المكونات الإضافية لإنشاء ووضع مقتطفات الشفرة، على سبيل المثال هنا: HTTP: //www.insideria. كوم / 2008/04 / المرن باني التحسينات قصاصات و-todo.html (وهناك بعض الأدوات الصغيرة ولكنها مفيدة أخرى جمعت على هذا الموقع)

وهذه يمكن استخدامها لجالبة / جيل أكثر أو أقل راحة اضع.

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

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

إذا كنت مجرد جعله الممتلكات العامة لم يكن لديك ما يدعو للقلق حاصل على واضعة:

public var str:String;

ولكن، إذا كنت بحاجة إلى أي شيء على غرار الحدث إيفاد لإعلام نفسك من التغييرات الملكية، ستحتاج إلى رمز ذلك بنفسك. نأمل مهما IDE الذي تستخدمه مساعدة مايو عن طريق توليد هذا النوع من التعليمات البرمجية بالنسبة لك، أو قد تحتاج إلى إعداد نوع من التعليمات البرمجية مقتطف من DIE يمكن حقن بالنسبة لك.

ونسخة تجنب ولصق إذا كنت تستطيع، كنت ملزمة ليغيب تغيير اسم شيء من شأنها أن تسبب لك مشاكل على الطريق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top