دالة تعيين، كشف حساب
التصريح accessors لخاصية جديدة في فئة أو واجهة. غالباً التعيين دالة ستظهر بالاقتران مع على يحصل دالة للسماح بوصول القراءه/الكتابه إلى خاصية.
// Syntax for the set accessor of a property in a class.
[modifiers] function set propertyname(parameter [: type]) {
[body]
}
// Syntax for the set accessor of a property in an interface.
[modifiers] function set propertyname(parameter [: type])
الوسيطات
modifiers
اختياري. المعدلات التي تتحكم في رؤية وسلوك خاصية.propertyname
مطلوبة. اسم خاصية الذي يتم إنشاؤه. يجب أن يكون فريداً ضمن الفئة إلا يمكن استخدامها propertyname مع كل من يحصل و accessors تعيين لتعريف خاصية مما يمكن القراءة منه والكتابة إليها.parameter
مطلوبة. معلمة رسمية قبول بأسلوب استرجاع قيمة التعيين.type
اختياري. معلمة نوع أسلوب استرجاع قيمة التعيين. يجب أن هذا مطابقة يحصل ملحق، إذا كان تعريف نوع الإرجاع.body
اختياري. واحد أو المزيد العبارات التي تعرف كيف يعمل واصف التعيين الوصول.
ملاحظات
خصائص كائن يتم الوصول إليها بكثير بالطريقة نفسها كحقل هو الوصول إليها، إلا أن الخصائص السماح بالمزيد من التحكم في قيم التي يتم تخزينها في والتي يتم إرجاعها من الكائن. يمكن أن تكون الخصائص القراءة، كتابة فقط، أو القراءة والكتابة استناداً إلى التركيبة الحصول تشغيل تعيين accessors خاصية المعرفة داخل فئة. غالباً ما يتم استخدام خصائص إلى المساعدة في التأكد من أن قيم المناسبة فقط sإلىred في privateأو protectedالحقل. أنك قد لا تقوم بتعيين القيمة إلى خاصية قراءة-فقط للخاصية أو قراءة القيمة من كتابة-فقط.
يجب أن يكون ملحق تعيين وسيطة واحدة بالضبط، و فإنه لا يمكن تحديد نوع إرجاع. قد يتم ازدواج ملحق تعيين مع يحصل الموصل، الذي لا يحتوي على أية وسائط و يجب تعيين نوع إرجاع. إذا كلاهما accessors المستخدمة لخاصية، يجب أن تتطابق مع نوع الإرجاع ملحق يحصل ملحق تعيين نوع وسيطة.
قد تحتوي خاصية واصف الوصول من يحصل أو واصف الوصول من تعيين أو كلاهما. فقط يحصل ملحق (أو واصف الوصول من تعيين إذا هناك هو عدم وجود ملحق يحصل ) قد تحتوي خاصية السمات المخصصة التي تنطبق الخاصية ككل. accessors تعيين و يحصل أن المعدلات وسمات cusإلىm تطبيق إلى ملحق الفردية. لا يمكن أن تكون محملة فوق طاقتها accessors خاصية، ولكن يمكن مخفي أو تجاوزها.
يمكن تعيين الخصائص في تعريف interface، لكن التطبيق لا يمكن في الواجهة.
مثال
يظهر المثال التالي عدة خاصية التعريفات. Ageالخاصية هو يعرف بالقراءة من والكتابة إليها. للقراءة فقط FavoriteColorخاصية هو أيضا تعريف.
class CPerson {
// These variables are not accessible from outside the class.
private var privateAge : int;
private var privateFavoriteColor : String;
// Set the initial favorite color with the constructor.
function CPerson(inputFavoriteColor : String) {
privateAge = 0;
privateFavoriteColor = inputFavoriteColor;
}
// Define an accessor to get the age.
function get Age() : int {
return privateAge;
}
// Define an accessor to set the age, since ages change.
function set Age(inputAge : int) {
privateAge = inputAge;
}
// Define an accessor to get the favorite color.
function get FavoriteColor() : String {
return privateFavoriteColor;
}
// No accessor to set the favorite color, making it read only.
// This assumes that favorite colors never change.
}
var chris : CPerson = new CPerson("red");
// Set Chris's age.
chris.Age = 27;
// Read Chris's age.
print("Chris is " + chris.Age + " years old.");
// FavoriteColor can be read from, but not written to.
print("Favorite color is " + chris.FavoriteColor + ".");
عند ترتيب هو البرنامج هو تشغيل، فإنه dهوplays ما يلي:
Chris is 27 years old.
Favorite color is red.