Object-Oriented Technology ng ECMAScript

Terminolohiya ng Object-Oriented

Bagay

Pinaglalarawan ng ECMA-262 ang bagay bilang 'isang hindi nagtutuloy na kumpilasyon ng mga katangian, bawat katangian ay naglalaman ng kalikasang halaga, bagay o function'. Sa mahalagang paraan, ibig sabihin nito na ang bagay ay isang array ng halaga na walang partikular na pagkakasunod-sunod.

Bagaman ang ECMAScript ay itinukoy ng bagay, ang mas pangkalahatang paglalarawan ay ang paglalarawan ng pangalan ng code na pangngalan (tao, lugar o bagay)

Klase

Ang bawat bagay ay binubuo ng isang klase, maaaring itatanging na ang klase ay isang recipe ng bagay. Ang klase ay hindi lamang dapat tukuyin ang interface ng bagay (ang mga katangian at mga method na ikakita ng developer), kundi dapat din tukuyin ang panloob na paggawa ng bagay (ang code na ginagawa ng katangian at mga method na gumagana). Ang compiler at interpreter ay gumagawa ng bagay ayon sa paglalarawan ng klase.

Instance

Kapag gumagawa ng bagay ang program mula sa klase, ang nilalanghap na bagay ay tinatawag na instance ng klase. Ang tanging limitasyon sa bilang ng mga bagay na ginawa ng klase ay ang pisikal na memorya ng makina na nagpapatupad ng code. Ang pagbabahay ng bawat instance ay katumbas, ngunit ang bawat instance ay nagpapapatakbo ng isang independiyenteng grupo ng impormasyon. Ang proseso ng paggawa ng instance ng bagay mula sa klase ay tinatawag na instantiation.

Sa mga naunang kabanata, nabanggit namin na walang pormal na klase ang ECMAScript. Sa halip, pinaglalarawan ng ECMA-262 ang mga bagay bilang recipe ng bagay. Ito ay isang kompromiso sa logika ng ECMAScript, dahil ang paglalarawan ng bagay ay talagang bagay na sarili. Kahit na ang klase ay hindi talagang umiiral, pinagngalan namin ang paglalarawan ng bagay bilang klase dahil ang karamihan sa mga developer ay mas nakakaalaman dito, at sa paraan na ito, sila ay katumbas.

Kahilingan ng wika na oriental sa bagay

Ang isang wika na oriental sa bagay ay kailangang magbigay ng apat na pangunahing kakayahan sa developer:

  1. Encapsulation - Ang kakayahan na magdala ng kaugnay na impormasyon (kahit data o method) sa loob ng bagay
  2. Aggregation - Ang kakayahan na magdala ng isang bagay sa ibang bagay
  3. Inherits - Ang kakayahan na makuha ang mga katangian at mga method mula sa ibang klase (o maraming klase)
  4. Polimorfismo - Ang kakayahan na isulat ng function o method na maaaring tumakbo sa iba't ibang paraan

Suporta ang ECMAScript sa mga kahilingan na ito, kaya maaaring itatanging maging oriental sa bagay.

Komposisyon ng mga bagay

Sa ECMAScript, ang mga bagay ay binubuo ng mga katangian (attribute), ang mga katangian ay maaaring maging kalikasan na halaga o tanggap na halaga. Kung ang katangian ay naglalaman ng function, ito ay itatanging maging method ng bagay, kung hindi, ang katangian ay itatanging maging property ng bagay.