ECMAScript-objekti-orientoitu teknologia
- Edellinen sivu Suljetut (closure)
- Seuraava sivu Objektin käyttö
Orientoiva objekti
Objekti
ECMA-262 määrittelee objektin (object)
Vaikka ECMAScript määrittelee objektin tällä tavalla, se on yleisempi määrittely on nimien (ihmiset, paikat tai asiat) esittämisen perusteella.
Luokka
Jokainen objekti on määritelty luokalla, ja luokan voidaan pitää objektin reseptinä. Luokan on määriteltävä objektin rajapinta (interface) (kehittäjän kautta käytettävissä olevat ominaisuudet ja metodit) sekä objektin sisäinen toiminta (tekee ominaisuuksista ja menetelmistä toiminnallisia). Kääntäjät ja tulkitsijat rakentavat objekteja luokan määrittelyn mukaan.
Esimerkki
Ohjelma käyttää luokkaa luodakseen objekteja, ja luokasta luodut objektit kutsutaan luokan esimerkiksi (instance). Ainoa rajoite luokasta luodun objektin määrälle on suorittavan koneen fyysinen muisti. Jokainen esimerkki toimii samalla tavalla, mutta jokaisella esimerkillä on erillinen tietorakenne. Luokasta luodun objektin esimerkin luominen prosessi kutsutaan instanssointiksi (instantiation).
Edellisissä luvuissa olemme maininneet, että ECMAScript ei ole virallisesti luokkia. Sen sijaan ECMA-262 määrittelee objektin objektin reseptiksi. Tämä on ECMAScriptin loginen kompromissi, koska objektin määrittely on itse asiassa objekti. Vaikka luokat eivät todella ole olemassa, me kutsumme objektin määrittelyä luokaksi, koska useimmat kehittäjät ovat tuttuja tästä termistä, ja toiminnallisesti ne ovat ekvivalentteja.
Objektiornoutuva kielen vaatimukset
Objektiornoutuva kieli tarvitsee tarjota kehittäjille neljä peruskykyä:
- Sulkeminen - Kyky tallentaa liittyviä tietoja (ole Massa tai menetelmä) objektiin
- Kokoonpano - Kyky tallentaa yksi objekti toisen objektin sisälle
- Perintä - Kyky saada luokan (tai useiden luokkien) ominaisuudet ja metodit
- Monimuotoisuus - Kyky kirjoittaa toimintoja tai menetelmiä, jotka voivat suoritua useilla tavoilla
ECMAScript tukee näitä vaatimuksia, joten sitä voidaan pitää objektiornoutuvana.
Objektin koostumus
ECMAScriptissä objektit koostuvat ominaisuuksista (attribute), jotka voivat olla alkuperäisiä arvoja tai viittauksia. Jos ominaisuus sisältää funktion, sitä pidetään objektin metodina (method), muuten ominaisuus pidetään objektin ominaisuutena (property).
- Edellinen sivu Suljetut (closure)
- Seuraava sivu Objektin käyttö