Instance Variable vs Local Variable
'n Geval veranderlike is 'n tipe veranderlike wat teenwoordig is in objekgeoriënteerde programmering. Dit is 'n veranderlike wat in 'n klas gedefinieer word, en elke objek van daardie klas hou 'n aparte kopie van daardie veranderlike. Aan die ander kant is die gebruik van plaaslike veranderlikes nie beperk tot objekgeoriënteerde programmeertale nie. Dit is 'n veranderlike wat slegs geassesseer kan word binne 'n bepaalde blok kode (bv. funksie, lusblok, ens.) waarin dit gedefinieer is. Om hierdie rede word gesê dat plaaslike veranderlikes 'n plaaslike omvang het.
Wat is 'n instansieveranderlike?
Geval veranderlikes word gebruik in objekgeoriënteerde programmering vir die stoor van die toestand van elke voorwerp in 'n klas. Hulle staan ook bekend as lidveranderlikes of veldveranderlikes. Gevalleveranderlikes word verklaar sonder om die statiese sleutelwoord in Java te gebruik. Die waardes wat in instansieveranderlikes gestoor word, is uniek aan elke voorwerp (elke voorwerp het 'n aparte kopie), en die waardes wat daarin gestoor is, verteenwoordig die toestand van daardie voorwerp. Ruimte vir 'n instansieveranderlike word in die hoop toegeken, wanneer daardie voorwerp in die hoop toegewys is. Gevolgveranderlikes word dus in die geheue gehou solank die voorwerp lewendig is. Byvoorbeeld, kleur van een motor is onafhanklik van die kleur van 'n ander motor. Die kleur van 'n motorvoorwerp kan dus in 'n instansieveranderlike gestoor word. In die praktyk word instansieveranderlikes binne klasse en buitemetodes verklaar. Gewoonlik word instansieveranderlikes as privaat verklaar sodat toegang tot hulle slegs verkry kan word binne die klas wat dit verklaar is.
Wat is 'n plaaslike veranderlike?
Plaaslike veranderlikes is veranderlikes met 'n plaaslike omvang, en hulle word verklaar binne 'n spesifieke kodeblok. Plaaslike veranderlikes kan gesien word as veranderlikes wat deur 'n metode gebruik word om sy tydelike toestand te stoor. Omvang van 'n plaaslike veranderlike word bepaal deur die ligging wat die veranderlike verklaar is, en spesiale sleutelwoorde word nie vir hierdie doel gebruik nie. Tipies word toegang tot 'n plaaslike veranderlike beperk binne die kodeblok wat dit verklaar is (d.w.s. tussen die opening- en sluitingshakies van daardie kodeblok). Plaaslike veranderlikes word tipies in die oproepstapel gestoor. Dit sal rekursiewe funksie-oproepe toelaat om hul eie kopieë van die plaaslike veranderlikes in stand te hou om in aparte geheue-adresspasies gestoor te word. Wanneer die metode sy uitvoering voltooi het, word inligting oor daardie metode uit die oproepstapel verwyder, wat ook die plaaslike veranderlikes wat gestoor is vernietig.
Wat is die verskil tussen Instance Variable en Local Variable?
Geval veranderlikes word verklaar binne klasse buite metodes, en hulle stoor die toestand van 'n objek, terwyl plaaslike veranderlikes verklaar word binne kode blokke, en hulle word gebruik vir die stoor van die toestand van 'n metode.'n Gevalveranderlike is lewendig solank die objek wat daardie veranderlike bevat lewendig is, terwyl 'n plaaslike veranderlike lewendig is tydens die uitvoering van daardie metode/kodeblok. 'n Gevalveranderlike (wat publiek verklaar word) kan binne die klas verkry word, terwyl 'n plaaslike veranderlike slegs binne die kodeblok wat dit verklaar is, verkry kan word. Gebruik van instansieveranderlikes is slegs beperk tot objekgeoriënteerde programmering, terwyl plaaslike veranderlikes nie so 'n beperking het nie.