Objektu projektēšana un izveidošana

Ja esat jauns objekts, jūs, visticamāk, izmantosit Java programmu izveidē, izmantojot tikai vienu failu - Java galvenās klases failu. Tā ir klase, kurai galvenā metode ir definēta Java programmas sākumpunktam.

Klases definīcija nākamajā darbībā jāsaglabā atsevišķā failā. Tas ievēro tās pašas nosaukšanas vadlīnijas, kuras jūs izmantojāt galvenās klases failam (t.i., faila nosaukumam jāatbilst klases nosaukumam ar .java faila nosaukuma paplašinājumu). Piemēram, tā kā mēs veidojam grāmatu klasi, šāda klases deklarācija jāsaglabā failā ar nosaukumu “Book.java”.

Dati, ko objekts glabā, un tas, kā ar tiem manipulē, tiek precizēts, izveidojot klasi. Piemēram, zemāk ir ļoti vienkārša grāmatas objekta klases definīcija:

Laukus izmanto objekta datu glabāšanai, un kopā tie veido objekta stāvokli. Veidojot Grāmatas objektu, būtu jēga tajā glabāt datus par grāmatas nosaukumu, autoru un izdevēju:

Lauki ir tikai normāli mainīgie ar vienu svarīgu ierobežojumu - tiem jāizmanto piekļuves modifikators "privāts". Privātais atslēgvārds nozīmē, ka tēzes mainīgajiem var piekļūt tikai no klases, kas tos definē.

instagram viewer

Piezīme: Java kompilators šo ierobežojumu neizpilda. Jūs savas klases definīcijā varat izveidot publisku mainīgo, un Java valoda par to nesūdzēsies. Tomēr jūs pārkāpjat vienu no objektorientētās programmēšanas pamatprincipiem - datiem iekapsulēšana. Jūsu objektu stāvoklim var piekļūt tikai caur viņu izturēšanos. Īsāk sakot, klases laukiem var piekļūt tikai ar klases metodēm. Jūsu pienākums ir ieviest datu iekapsulēšanu izveidotajos objektos.

Konstruētāja metodē tiek izmantots tāds pats nosaukums kā klasei (t.i., grāmata), un tai jābūt publiski pieejamai. Tas ņem tajā ievadīto mainīgo vērtības un nosaka klases lauku vērtības; tādējādi iestatot objektu sākotnējā stāvoklī.

Uzvedība ir darbības, kuras objekts var veikt, un tās tiek uzrakstītas kā metodes. Pašlaik mums ir klase, kuru var iniciēt, bet neko daudz citu nedara. Pievienosim metodi ar nosaukumu "displayBookData", kas parādīs objektā esošos pašreizējos datus:

Mēs varētu pievienot tik daudz metožu un lauku, cik vēlamies, bet pagaidām uzskatīsim Grāmatu klasi par pabeigtu. Tam ir trīs lauki, lai glabātu datus par grāmatu, to var inicializēt un tajā var parādīt tajā esošos datus.

Vienādības zīmes kreisajā pusē ir objekta deklarācija. Tas saka, ka es vēlos izveidot Book grāmatu un saukt to par “firstBook”. Vienādības zīmes labajā pusē ir jauna grāmatas objekta eksemplāra izveidošana. Tas nozīmē pāriet uz Book klases definīciju un palaist kodu konstruktora metodē. Tātad jaunais objekta Book eksemplārs tiks izveidots ar nosaukuma, autora un izdevēja laukiem, kas attiecīgi iestatīti uz "Horton dzird A Who!", "Dr Suess" un "Random House". Visbeidzot, vienādības zīme nosaka mūsu jauno firstBook objektu par jauno grāmatu klases instanci.

instagram story viewer