Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Объектіге бағытталған бағдарламалауда, объектіге бағытталған жобалауда және объектіге бағытталған талдауда, объектінің өзіндігі – объектінің қасиеттерінің мәніне қарамастан, кез келген басқа объектіден ерекше болуы. Өзіндікке ие болу – объектілердің негізгі қасиеті. Бұл философиялық өзіндік ұғымымен тығыз байланысты.
In object oriented programming, object oriented design and object oriented analysis, the identity of an object is its being distinct from any other object, regardless of the values of the objects' properties. Having identity is a fundamental property of objects. This is closely related to the philosophical concept of identity.
Жеке тұлға және анықтама
Анықтама белгілі бір идентификациясы бар объектіге сілтеме жасау үшін қолданылуы мүмкін. Анықтама, идентификация қасиетінің бағдарламалау тілінде іске асырылуы үшін қажетті ақпаратты қамтиды және сол идентификациясы бар объектіге қол жеткізуге мүмкіндік береді. Анықтаманың нысанының түрі – рөл. Әдетте, сілтемелер жад адрестерімен изоморфты болады. Дегенмен, бірнеше осындай сілтемелер бір объектіге сілтеме жасай алады, егер адрестік сәйкестендірудің қандай да бір түрі болса (виртуалды адрестер / беттік кестелер / жад сегменттері). Объектінің идентификациясы, объектілердің құрылымы инкапсуляцияланбаған ортада немесе жағдайларда семантикалық ұғым ретінде аз пайдалы, және егер екі объектінің қасиеттері бірдей болса, тіпті олар бірдей физикалық дана болмаса да, бірдей объектілер деп есептеледі (құрылымдық теңдестік). Алайда, объектінің идентификациясы оптимизацияны қамтамасыз ете алады. Екі аргументтің бірдей объекті екенін тексергенде, егер екі аргумент те бірдей идентификацияға ие болса (бір данаға сілтеме жасайтын болса), функция тез оң жауапты қайтара алады. Тек егер аргументтер әртүрлі объектілер болса ғана, теңдікті анықтау үшін жеке қасиеттерін қарастыру қажет, бұл көбірек еңбек талап ететін операция. Мысалы, үлкен сандық бүтін сандар жинақталған объектілер болуы мүмкін, және егер олар бірдей санды білдірсе, екі үлкен сандық бүтін сан бірдей деп есептелуі мүмкін. Теңдік функциясында, салыстырылып жатқан екі аргументтің бір үлкен сандық бүтін санға сілтеме жасайтынын анықтау мүмкіндігін пайдаланбау машиналық циклдардың ысырабына алып келуі мүмкін.
A reference can be used to refer to an object with a specific identity. A reference contains the information that is necessary for the identity property to be realized in the programming language, and allows access to the object with the identity. A type of a target of a reference is a role. Typically, references are isomorphic to memory addresses. However, multiple such references can refer to the same object, if some form of address mapping is present (virtual addresses / page tables / memory segments). Object identity is less useful as a semantic concept in environments or situations in which the structure of objects is not encapsulated, and two objects are considered to be the same object based on having identical properties, even if they are not actually the same physical instance (structural equivalence). However, object identity can nevertheless provide optimization. A function which tests whether two arguments are the same object can quickly short circuit to an affirmative answer if the two arguments have the same identity (are references to the same instance). Only if the argument are distinct objects do the individual properties need to be considered to determine equality, which is a more expensive operation. For instance, bignum integers may be heap allocated objects such that two bignums are considered to be the same if they represent the same number. It might be a waste of machine cycles in the equality function not to take advantage of the discovery that the two arguments being compared are references to the same bignum.
Жеке тұлғаның салдары
Нысандардың сәйкестігі нысандарды қара жәшіктер ретінде қарастыруға мүмкіндік береді. Нысанның ішкі құрылымын ашу міндетті емес. Оған сілтеме жасауға болады және оның басқа қасиеттеріне сәйкестігімен байланысты сыртқы әрекеттері арқылы қол жеткізуге болады. Сәйкестік интерфейсте көрсетілмеген нысан бөліктеріне сілтеме жасау механизмін ұсынады. Осылайша, сәйкестік объектіге бағытталған бағдарламалаудағы полиморфизмнің негізі болып табылады. Сәйкестік сілтемелерді салыстыруға мүмкіндік береді. Екі сілтемені теңдігіне немесе тең еместігіне қарай салыстыруға болады. Сәйкестік қасиетіне байланысты, бұл салыстырудың ерекше ерекшеліктері бар. Егер сілтемелерді салыстыру олардың тең екенін көрсетсе, онда сілтемелер көрсеткен екі нысанның бір нысан екені анық. Егер сілтемелер тең болмаса, онда олардың артындағы нысандардың сәйкестігі әртүрлі болуы мүмкін, бірақ міндетті емес. Екі нысанның, бір типті болғандағы, нысан сәйкестігі бірдей болады, егер бір нысанға енгізілген әр өзгеріс екінші нысанға да әсер етсе.
Identity of objects allows objects to be treated as black boxes. The object need not expose its internal structure. It can still be referred to, and its other properties can be accessed via its external behaviour associated with the identity. The identity provides a mechanism for referring to such parts of the object that are not exposed in the interface. Thus, identity is the basis for polymorphism in object oriented programming. Identity allows comparison of references. Two references can be compared whether they are equal or not. Due to the identity property, this comparison has special properties. If the comparison of references indicates that the references are equal, then it's clear that the two objects pointed by the references are the same object. If the references do not compare equal, then it's not necessarily guaranteed that the identity of the objects behind those references is different. The object identity of two objects of the same type is the same, if every change to either object is also a change to the other object.
Жекелік және объектке бағдарланған тұжырымдамалық модель
Идентификация платоникалық идеал әлемді, онтологияны немесе тұжырымдамалық модельді құруға мүмкіндік береді, ол көбінесе объектіге бағытталған ойлаудың негізі ретінде қолданылады. Тұжырымдамалық модель доменге, терминологияға немесе API-ге клиенттік көріністі сипаттайды. Бұл әлемде нүкте тәрізді объектілер, объектілердің қасиеттері және олардың арасындағы байланыстар бар. Әлемдегі объектілер сыныптарға біріктірілуі мүмкін. Объектілердің қасиеттерін рөлдерді құру үшін топтастыруға болады. Байланыстарды ассоциациялар құру үшін топтастыруға болады. Әлемдегі барлық орындар мен олардың арасындағы байланыстар әлемнің құрылымын құрайды. Бұл топтар әлемнің сәйкес келетін мысалдарының типтері болып табылады.
Identity allows the construction of a platonic ideal world, the ontology or conceptual model, that is often used as basis of object oriented thinking. The conceptual model describes the client side view to a domain, terminology or an API. This world contains point like objects as instances, properties of the objects and links between those objects. The objects in the world can be grouped to form classes. The properties of the objects can be grouped to form roles. The links can be grouped to form associations. All locations in the world together with the links between the locations form the structure of the world. These groups are types of the corresponding instances of the world.