Сынып айнымалылары: объектілерде ортақ болатын сынып ішінде анықталған айнымалылар. Объектіге тәуелсіз, бір ғана көшірмесі бар. Бағдарламалауда маңызды!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Класта анықталған, оның барлық объектілерінің бірдей көшірмесі бар айнымалы.
Variable defined in a class whose objects all possess the same copy
Объектіге бағытталған бағдарламалауда, кластық айнымалы – класта анықталған, кластың қанша данасы болса да, бір ғана көшірмесі болатын айнымалы. Кластық айнымалы инстанция айнымалысы емес. Бұл – сынып атрибутының (немесе сыныптың қасиеті, өрісі немесе дерек мүшесі) ерекше түрі. Инстанция мен сынып мүшелерінің арасындағы осы айырмашылық әдістерге ("мүшелік функциялар") де қатысты; сыныпта инстанция әдістері де, сынып әдістері де болуы мүмкін.
In class based, object oriented programming, a class variable is a variable defined in a class of which a single copy exists, regardless of how many instances of the class exist. A class variable is not an instance variable. It is a special type of class attribute (or class property, field, or data member). The same dichotomy between instance and class members applies to methods ("member functions") as well; a class may have both instance methods and class methods.
Статикалық мүшелер айнымалылары мен статикалық мүшелер функциялары
Кейбір тілдерде сынып айнымалылары мен сынып әдістері динамикалық жіберу арқылы емес, статикалық түрде шешіледі немесе олардың жады компиляция кезінде статикалық түрде бөлінеді (барлық сынып үшін бір рет, статикалық айнымалылар ретінде), орындалу кезінде динамикалық түрде бөлінбейді (объектінің әрбір жасалуында). Дегенмен, басқа жағдайларда, олардың біреуі немесе екеуі де динамикалық болуы мүмкін. Мысалы, егер сыныптарды динамикалық түрде (орындалу кезінде) анықтауға болады, онда осы сыныптардың сынып айнымалылары сынып анықталғанда динамикалық түрде бөлінеді, ал кейбір тілдерде сынып әдістері де динамикалық түрде жіберіледі. Сондықтан кейбір тілдерде статикалық мүше айнымалысы немесе статикалық мүше функциясы "сынып айнымалысы" немесе "сынып функциясы" дегенмен синоним ретінде немесе олардың орнына қолданылады, бірақ бұл терминдер барлық тілдерде синоним емес. Бұл терминдер Java, C# және C++ тілдерінде жиі қолданылады, онда сынып айнымалылары мен сынып әдістері статикалық кілт сөзбен жарияланады және статикалық мүше айнымалылары немесе статикалық мүше функциялары деп аталады.
In some languages, class variables and class methods are either statically resolved, not via dynamic dispatch, or their memory statically allocated at compile time (once for the entire class, as static variables), not dynamically allocated at run time (at every instantiation of an object). In other cases, however, either or both of these are dynamic. For example, if classes can be dynamically defined (at run time), class variables of these classes are allocated dynamically when the class is defined, and in some languages class methods are also dispatched dynamically. Thus in some languages, static member variable or static member function are used synonymously with or in place of "class variable" or "class function", but these are not synonymous across languages. These terms are commonly used in Java, C#, and C++, where class variables and class methods are declared with the static keyword, and referred to as static member variables or static member functions.