Obiecte încorporate
Obiectele încorporate sunt convenabile pentru efectuarea diferitelor operații cu șiruri de caractere, date din calendar, tablouri, numere și așa mai departe. Ei eliberează programatorul să efectueze diverse operații de rutină, cum ar fi conversia șirurilor sau calcularea funcțiilor matematice.
Cum să lucrați cu obiecte încorporate? Destul de simplu. Programul creează implementări obiect și apoi accesează proprietățile și metodele obiectelor. Ca exemplu de importanță practică, luați în considerare un document HTML care afișează data și ora curente.
Listing 2.1.
Obiectul Date astfel creat este inițializat cu data curentă locală setată de utilizator (și nu pe serverul Web de la care a fost încărcat documentul HTML corespunzător). Următorul rând formează șirul de text al datei:
Valoarea numărului de calendar, a numărului de lună și a anului este obținută folosind metodele getDate, getMonth și getYear. Aceste metode sunt solicitate pentru obiectul dt care conține data curentă.
Șirul de text al datei este transmis la documentul HTML utilizând metoda de scriere definită în obiectul documentului: Obiectul Date conține, de asemenea, informații despre ora curentă. Aceste informații sunt preluate pentru a fi afișate utilizând metodele getHours, getMinutes și getSeconds (respectiv ore, minute și secunde): Vedeți un exemplu al acestui script
Obiecte de browser
Browser Ierarhia obiectelor
Diagrama arată schematic ierarhia obiectelor browserului.
Obiectul ferestrei este la rădăcina ierarhiei. Când un document HTML este încărcat în fereastra browserului, în interiorul acestui obiect - document se creează și alte obiecte. părinte. cadru. locație și de sus.
Dacă în fereastra browserului este încărcat un document HTML cu cadre, se creează o fereastră separată pentru fiecare cadru, iar această fereastră este creată ca un obiect fereastră.
Dacă documentul are forme, atunci ele sunt reprezentate și ca set ierarhic de obiecte. Forma obiect poate conține obiecte, cum ar fi butoane, comutatoare, câmpuri pentru introducerea informațiilor de text.
Evenimente legate de obiecte
De exemplu, evenimentele onLoad și onUnload sunt asociate cu obiectul ferestrei. Primul dintre aceste evenimente are loc atunci când browserul completează încărcarea ferestrei și toate cadrele din ea (dacă acele cadre sunt definite în fereastră). Cel de-al doilea eveniment are loc atunci când utilizatorul renunță la document, închide fereastra browserului sau trece la alt document.
Obiecte bazate pe clase create de programator
Mai întâi de toate, să creăm propria noastră clasă numită myRecord. Pentru moment, în timp ce nu există metode în ea, le vom adăuga mai târziu. Clasa pe care o căutați este creată după cum urmează:
Este ușor de văzut că descrierea acestei clase nu este decât o funcție a constructorului.
Rețineți că constructorul inițializează o proprietate numită securizată, scriind falsă. Parametrul corespunzător din constructor nu este furnizat, ceea ce este destul de acceptabil.
Obiectele sunt create folosind noul operator. Constructorul primește parametri pentru a inițializa proprietățile obiectelor create.
În ceea ce privește proprietatea numită securizată, atunci în obiectul rec2, aceasta este inițializată după ce aceasta este creată. Este setat la adevărat. Proprietatea securizată a obiectului rec1 nu se modifică, astfel stochează valoarea false.
Acum adăugăm noi metode la clasa definită cu numele printTableHead, printTableEnd și printRecord. Primele două dintre aceste metode se trimit la documentul HTML, respectiv începutul și sfârșitul tabelului, iar al treilea - rândurile tabelului, reflectând conținutul înregistrărilor. În formă abreviată, noua definiție a clasei myRecord este prezentată mai jos:
Aici, înainte de definiția designerului, există definiții pentru metodele funcționale ale clasei noastre. În plus, definiția noilor proprietăți a fost adăugată constructorului: Aceste proprietăți stochează referințe la metodele definite mai sus. După această definiție a clasei, puteți crea obiecte și puteți accesa metode specifice: Aici este codul sursă complet al programului rezultat.
Listing 2.2.
Definirea noii clase myRecord și a metodelor sale este localizată în zona de antet a documentului HTML, așa cum este obișnuit.
Metoda printTableHead tipărește un antet de tabel la un document HTML. Aspectul acestui antet depinde de conținutul proprietăților obiectului. În primul rând, metoda printTableHead verifică proprietatea securizată, obținând valoarea acesteia cu acest cuvânt cheie:
Aici acest cuvânt cheie înseamnă că trebuie să utilizați proprietatea obiectului pentru care a fost apelată metoda printTableHead. Dacă conținutul proprietății sigure este adevărat, șirul "(Secure)" este scris în variabila text szSec. Dacă este falsă, șirul "(Neasigurat)" este scris la această variabilă și linia este setată pe roșu.
Apoi, printTableHead imprimă un operator documentului HTML
Ultima metodă definită în clasă se numește printRecord. Imprimă conținutul primelor patru proprietăți ale obiectului ca un rând de tabel definit în documentul HTML prin funcția printTableHead descrisă. Rețineți că conținutul proprietăților obiectului este imprimat într-un font oblic, pentru care numim metoda italică:
În a doua parte a script-ul, situat în corpul documentului HTML, se creează două obiecte și clasa myRecord bazate pe REC1 rec2, apoi setați proprietatea securizat obiectului rec2 în stare de adevărată.
Apoi, scriptul redă secvențial un document HTML două tabele care corespund obiectelor create, făcând apel la această metodă printTableHead, printRecord și printTableEnd.