("sakam apgut java's · web viewjava klase – objektu šablons java...

40
Java klase – objektu šablons Java klases eksemplāri - objekti Katram objektam ir sekojošas īpašības: 1) stāvoklis – objekta datu vērtības; 2) uzvedība (behavior) – ko ar objektu var darīt (izmantot datus un metodes); 3) identitāte – katra objekta unikalitāte (dati var būt vienādi, bet divi objekti tomēr ir atšķirīgi). Java klase Java klases Java klases Java klases 1

Upload: phamquynh

Post on 14-Mar-2018

246 views

Category:

Documents


16 download

TRANSCRIPT

Page 1: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Java klase – objektu šablons

Java klases eksemplāri - objekti

Katram objektam ir sekojošas īpašības:

1) stāvoklis – objekta datu vērtības;

2) uzvedība (behavior) – ko ar objektu var darīt (izmantot datus un metodes);

3) identitāte – katra objekta unikalitāte (dati var būt vienādi, bet divi objekti tomēr ir atšķirīgi).

Java klaseJava klases objekts

Java klases objektsJava klases objekts

1

Page 2: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Java klases objektos pieeja datiem iespējama tikai izmantojot klases metodes – tā ir datu iekapsulēšana (encapsulation)

Pieejas tipi klases datiem un metodēm:

1) private – nevar izmantot no citām klasēm;

2) public – var izmantot arī no citām klasēm;

3) protected – apakšklašu metodēm ir tieša pieeja superklases datiem.

Java klase

Metode A Metode B

Datu vienība

2

Page 3: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Mainīgo tipi un konsoles izvadsMainīgo tipi:1) veselie skaitļi: byte, short, int, long;2) reālie skaitļi: double, float;3) simboli: char;4) loģiskie jeb būla mainīgie: boolean (vērtības: true, false).

class Piemers1 {public static void main (String args[]) { // Galvenā metode, ar to sākas izpilde.int i1, i2, i3;i1 =1; Rezultāts:i2 = 2;i3 = i1 +i2;System.out.println("Summa = " + i3); } }

Alternatīvi pieraksta varianti:class Piemers1 {public static void main (String args[]) {int i1=1, i2=2, i3;i3 = i1 +i2;System.out.println("Summa = " + i3); } }

class Piemers1 {public static void main (String args[]) {int i1=1, i2=2, i3;System.out.println("Summa = " + (i1 + i2)); } }

class Piemers2 {public static void main (String args[]) { Rezultāts:char simb1, simb2, simb3, simb4;simb1 = 'Y';simb2 = 88; // Simbola kodssimb3 = simb2;simb3++; // Simbola koda palielināšanasimb4 = simb1;simb4++;System.out.println(simb1 + " " + simb2 + " " + simb3+ " " + simb4); } }

3

Page 4: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Vienkāršo mainīgo definēšana un sākotnējo vērtību piešķiršanapublic class Piemers3 {public static void main (String[ ] args) {char simb_main_16 = 'A';byte vesals_main_8 = 127;short vesals_main_16 = 32767;int vesals_main_32 = 2147483647;long vesals_main_64 = 922337203;float real_main_32 = 3.40282347E+38F;double real_main_64 = 1.7976931348623157E+38F;boolean loģiskais_main = true;System.out.println(simb_main_16); } }

Mainīgā vērtības palielināšana vai samazināšana par 1 vienību

int i = 2;i =i+1; // i = 3i++; // i = 3++i; // i = 3i--; // i = 2--i; // i = 2int n = 3;int m = 2 * ++n; // n = 4, m = 8 Vispirms izmaina vērtību, tad sarēķinaint m = 2 * n++; // n = 4, m = 6 Vispirms sarēķina, tad izmaina vērtību

Konstantes (vērtības nevar tikt mainītas)static final double p = 3.1416;

Komentāri

........................// Vienas rindas komentārs/* Vairāku rindu komentāri *//** Komentāri dokumentu veidošanai*/

4

Page 5: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Masīvi

class Piemers3 {public static void main (String args[]) {int masivs1[];masivs1 = new int[10];masivs1[0] = 0;masivs1[9] = 9;System.out.println(masivs1[0] + " " + masivs1[9]); } }

Alternatīva masīva definēšanas forma:class Piemers3 {public static void main (String args[]) {int[] masivs = new int[10];masivs1[0] = 0;masivs1[9] = 9;System.out.println(masivs1[0] + " " + masivs1[9]); } }

Divdimensiju masīva veidošana:class Piemers4 {public static void main (String args[]) {int masivs2[] [] =new int [5] [5];int i, j, k = 0;for (i =0; i <5; i++) { for (j=0; j<5; j++){ masivs2[i][j]=k; k++; System.out.print(masivs2[i][j] + " ");} System.out.println(); } } }

int [] masivs3 = {1, 2, 3, 4, 5};

int skaits = 10;int {} masivs4 = new int[skaits];

5

Page 6: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Simbolu rindas mainīgo definēšana izmantojot klasi String

import java.math.*;public class Tests{public static void main(String[] args){ String x = "ABCDE";int y = x.length(); // y vērtība ir 5System.out.println("Simbolu skaits = " + y);String z = x.substring(0, 3); // rezultāts ir "ABC"String r = x.substring(0, 3) + z + 'G'; // rezultāts ir "ABCABCG"System.out.println("z = " + z + ";" + "r = " + r); boolean m = z.equals (r); // simbolu rindu vienādības pārbaudeSystem.out.println("Salidzinajums = " + m); }}

6

Page 7: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Salīdzināšanas un loģikas darbības

Salīdzināšanas darbības:1) vienāds == ;2) nevienāds != ;3) lielāks > ;4) mazāks < ;5) lielāks vienāds >= ;6) mazāks vienāds <= .

Loģikas darbības:1) un (and) & ;2) vai (or) | ;3) izslēdzošais vai (xor) ^ ;4) nē (not) ! .

Nosacījuma operatori

if (alga >= 1000) {nodokli = 300;}else if (alga >= 500) {nodokli = 100;}else (nodokli = 0;}

switch (tips) { // tips vērtība var būt 5, 6 vai cita case 5: ... break; case 6: ... break; default: ... break; }

7

Page 8: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

while un for cikli

while (nosacījums) {operatori};

while (nosacījums) {operatori; if (nosacījums) break; // Izeja no cikla operatori;}while (nosacījums) {operatori; if (nosacījums) continuebreak; // Turpinājums, ja izpildās operatori;}

for (int i = 1; i <= 10; i++) {operatori};

for (Cilveks masivs : a) System.out.println(a);

8

Page 9: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Rezultāta tipa norādīšana

import java.math.*;public class Tests{public static void main(String[] args){ double x = 10.2;int y ;y = (int) Math.round(x);System.out.println("y = " + y); }}

9

Page 10: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Īpašo situāciju apstrāde (exception handling)

try {Programmas kods, kurā ipašās situācijas tiek uztvertas} catch (īpašās situācijas tips e) {Īpašās situācijas apstrādes komandas} finally {Programmas kods, izpildās beigās vienmēr}

The term exception is shorthand for the phrase "exceptional event." Definition: An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions. When an error occurs within a method, the method creates an object and hands it off to the runtime system. The object, called an exception object, contains information about the error, including its type and the state of the program when the error occurred. Creating an exception object and handing it to the runtime system is called throwing an exception.After a method throws an exception, the runtime system attempts to find something to handle it. The set of possible "somethings" to handle the exception is the ordered list of methods that had been called to get to the method where the error occurred. The list of methods is known as the call stack (see the next figure).

The runtime system searches the call stack for a method that contains a block of code that can handle the exception. This block of code is called an exception handler. The search begins with the method in which the error occurred and proceeds through the call stack in the reverse order in which the methods were called. When an appropriate handler is found, the runtime system passes the exception to the handler. An exception handler is considered appropriate if the type of the exception object thrown matches the type that can be handled by the handler.The exception handler chosen is said to catch the exception. If the runtime system exhaustively searches all the methods on the call stack without finding an appropriate exception handler, as shown in the next figure, the runtime system (and, consequently, the program) terminates.

10

Page 11: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Īpašās situācijas

Programmas izpildes laikā var rasties īpasas situācijas, kurāsjāizpilda noteiktas darbības. Īpašās situācijas veido:

1) kļūdas programmās;2) situācijas, kuru apstrādei nepieciešams papildus programmas kods.

Ir:1) iebūvētās īpašās situācijas (ArithmeticException,

IllegalArgumentException, ...);2) programmētāja definētās īpašās situācijas.

Īpašo situāciju apstrādei izmanto slēgvārdus:1) try {bloks, kurā tiek izskatītas īpašās situācijas}2) catch (īpašās_situācijas_tips) {īpašās situācijas apstrāde}

class PiemersTryCatch {public static void main (String args[] ) {int d, a;try {d = 0; a = 42/d; System.out.println( a); }catch (ArithmeticException e) {System.out.println("Kļuda! Dalisana ar nulli.");}

System.out.println("Turpinājums!"); }}

3) throw Savas īpašās situācijas izveidošana4) throws Uzskaita īpašās situācijas, kuras tiek pārtvertas5) finally {komandu bloks, kurš tiek izpildīts pēc bloka try/catch izpildes}

11

Page 12: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Klases definējums

public class KlasesNosaukums {

datu_lauks_1 // lauks (field)datu_lauks_2 // lauks (field). . .konstruktors_1konstruktors_2. . .metode_1metode_2. . . }

Piemērs:

public class KlaseA { public static void main (String[ ] args) { System.out.println ("Sakam apgut JAVA's tehnologijas. "); } }

12

Page 13: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Klases definēšanas noteikumi

1. Tiek ņemts vērā vai izmantots lielais vai mazais burts (main vai Main).

2. public (access modifier) – citas klases var izmantot vai citas metodes var

izmantot.

3. Klases nosaukums sākas ar lielo burtu (Klase_A).

4. Faila nosaukumam ar klases definējumu un klases nosaukumam ir jābūt

vienādiem.

5. Faila paplašinājums ir .java.

6. Kompilators izveido failu ar klases nosaukumu un paplašinājumu .class.

7. Klases izpilde sākas ar metodi main.

8. Tiek izmantots pieraksts objekts.metode(parametri).

13

Page 14: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Vienkārša klase

class Cilveks {public int PersKods;public String Uzvards;public String Vards;public static String Valsts = "Latvija"; }

// Konstruktora metode - konstruktors

Cilveks (int CilvPersKods, String CilvUzvards, String CilvVards) {PersKods = CilvPersKods;Uzvards = CilvUzvards;Vards = CilvVards; }

// Metode

public String UzvVar() {String main_1 = "Tukšs";if (Uzvards != null) main_1 = Uzvards + Vards;return main_1; }

14

Page 15: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Konstruktors jeb konstruktora metode

1. konstruktora variantsclass Kaste {//Klases mainīgiedouble platums;double augstums;double biezums;// KonstruktorsKaste(duble p, double a, double b) {platums = p;augstums = a;biezums = b;}// Metodeduble Tilpums () { return platums*augstums*biezums;} }

2. konstruktora variantsclass Kaste {//Klases mainīgiedouble platums;double augstums;double biezums;// KonstruktorsKaste(duble platums, double augstums, double biezums) {this.platums = platums;this.augstums = augstums;this. biezums = biezums;}// Metodeduble Tilpums () { return platums*augstums*biezums;} }

3. konstruktora variantsclass Kaste {//Klases mainīgiedouble platums;double augstums;double biezums;// Konstruktors definē objektu sākotnējās vērtības. // Visi klases objekti sākumā ir vienādiKaste(duble p, double a, double b) {platums = 10;augstums = 10;biezums = 10;}// Metodeduble Tilpums () { return platums*augstums*biezums;} }

15

Page 16: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Klases definēšanas piemērspublic class Darbinieks {// klases eksemplāra atribūti private String uzvards; private double alga; private int dzim_gads; // konstruktor-funkcija public Darbinieks (String uzv, double alg, int gads) { uzvards = uzv; alga = alg; dzim_gads = gads; } // metodes public String getUzvards() { return uzvards; } public double getAlga() { return alga; } public int getDzim_gads() { return dzim_gads; } public void Algas_maina (double procents) { double pieaugums = alga * procents /100; alga += pieaugums; } }

public class DarbinieksTests { public static void main (String [] args) { Darbinieks [] darbinieki = new Darbinieks [3]; darbinieki [0] = new Darbinieks ("Koks", 400.50, 1980); darbinieki [1] = new Darbinieks ("Celms", 500.50, 1985); darbinieki [2] = new Darbinieks ("Sakne", 550.50, 1970); for (Darbinieks e : darbinieki) System.out.println("uzvards= "+ e.getUzvards() + ", alga= " +

e.getAlga() ); } }

16

Page 17: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Klases objekta (klases eksemplāra) izveidošanaclass Punkts { public double x, y; }

Punkts mainPunkts = new Punkts();mainPunkts.x = 123.5;mainPunkts.y = 456.5;

Klases mainīgie (visai klasei viena un tā pati mainīgā vērtība)public static Punkts Obj_punkts = new Punkts;

Metodespublic void clear() { x = 0; y =0; } // Metodei nav parametru un tā neatgriež // nekādu vērtību (tāpēc tips – void) public double attālums(Punkts p_punkts) { double xx, yy; xx = x – p_punkts.x; yy = this.y – p_punkts.y; return Math.sqrt(xx * xx + yy * yy); }double mai_punkts = a_punkts.attālums(b_punkts); // Metodes izsaukums

Klases jeb statiskās metodes (strādā tikai ar klases mainīgiem jeb atribūtiem)

17

Page 18: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Saites starp objektiem

1. Saite – "lieto" (dependence, uses-a).

2. Saite – agregācija (B var eksistēt bez A).

3. Saite – kompozīcija (B nevar eksistēt bez A).

4. Saite - mantošana (inheritance, is-a).

Objektu klase A Objektu klase B

Objektu klase A Objektu klase B

Objektu klase A Objektu klase B

Objektu klase A Objektu klase B

18

Page 19: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Klašu piemēri

1. Klases Cilveks definējums. Galvenās metodes (main) definējumā nav.

public class Cilveks{// Klases mainīgieprivate String vards;private String uzvards;//Konstruktora funkcijapublic Cilveks(String a, String b) {vards = a; uzvards = b;}//Metodespublic String getVards() {return vards;}public String getUzvards() {return uzvards;}public void setVards(String x) {vards = x;}public void setUzvards(String y) {uzvards = y;} }

2. Klases CilveksTests definējums. Definējumā ir galvenā (main) metode.Divu klases Cilveks eksemplāru datu ierakstīšana masīvā masivs[]

public class CilveksTests{public static void main(String[] args){ Cilveks masivs[] = new Cilveks[2];masivs[0] = new Cilveks("Juris", "Koks");masivs[1] = new Cilveks("Rasma", "Zars");// Masīva masivs[] datu izvadeSystem.out.println("masiva[] dati:");for (Cilveks c : masivs)

System.out.println(c.getVards()+" " + c.getUzvards()); } }

3. Rezultāts:

Klases Cilveks definējumsvardsuzvardsgetVards()getUzvards()setVards()setUzvards()

Masīvs masivs[]Juris KoksRasma Zars

19

Page 20: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Juris KoksJuris

RasmaJurisZarsKoksJuris

RasmaJurisZarsKoksJuris

Juris KoksJuris

4. Klases CilveksTests definējums. Definējumā ir galvenā (main) metode.Divu klases Cilveks objektu izveidošana un to datu izvadepublic class CilveksTests{Cilveks Obj1, Obj2;Obj1 = new Cilveks("Juris", "Koks");Obj2 = new Cilveks("Rasma", "Zars");// Objekta datu izvadeSystem.out.println("Objekta Obj1 dati:");System.out.println(Obj1.getVards() + " " + Obj1.getUzvards());System.out.println("Objekta Obj2 dati:");System.out.println(Obj2.getVards() + " " + Obj2.getUzvards()); }}

5. Rezultāts:

6. Divu klases Cilveks objektu izveidošana, datu ievade izmantojot set metodes un izvade.

public class CilveksTests{public static void main(String[] args){ //Divu klases Cilveks objektu izveidošanaCilveks Obj1, Obj2;Obj1 = new Cilveks("n", "n");Obj2 = new Cilveks("n", "n");// Metožu izmantošana datu ievadeiSystem.out.println("Metožu izmantošana:");Obj1.setVards("Juris");Obj1.setUzvards("Koks");Obj2.setVards("Rasma");Obj2.setUzvards("Zars");// Objektu datu izvadeSystem.out.println("Objekta Obj1 dati:");System.out.println(Obj1.getVards() + " " + Obj1.getUzvards());System.out.println("Objekta Obj2 dati:");System.out.println(Obj2.getVards() + " " + Obj2.getUzvards()); }}

7. Rezultāts:

20

Page 21: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Objekta tipa mainīgo definēšana

public class CilveksTests{public static void main(String[] args){ //Objekta mainīgā izveidošana un tā inicializēšanaCilveks objekts; // Klases Cilveks objekta mainīgā objekts izveidošanaobjekts = new Cilveks("Zane", "Sakne"); /* Objekta piesaiste objekta mainīgajam */System.out.println("Objekta dati:");System.out.println(objekts.getVards()+ " " + objekts.getUzvards());}}

public class CilveksTests{public static void main(String[] args){ /*Objekta mainīgā izveidošana, tā inicializēšana piesaistot tam jaunizveidotu objektu */Cilveks objekts = new Cilveks("Zane", "Sakne"); System.out.println("Objekta dati:");System.out.println(objekts.getVards()+ " " + objekts.getUzvards());}}

public class CilveksTests{public static void main(String[] args){ /* Objekta mainīgā izveidošana, tā inicializēšana piesaistot tam jaunizveidotu tukšu objektu un objekta datu ievade izmantojot Set metodes */Cilveks objekts = new Cilveks("n", "n"); objekts.setVards("Inese");objekts.setUzvards("Liepa");System.out.println("Objekta dati:");System.out.println(objekts.getVards()+ " " + objekts.getUzvards());}}

21

Page 22: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Klašu paketes

package pakete_1;class Klase_1 { ... }

22

Page 23: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Datu ievade

import java.io.*;class Ievade {public static void main(String args[]) throws IOException{char c;BufferedReader br = new BufferedReader(new InputStreamReader(System.in));System.out.println("Ievadiet simbolus! Lai pabeigtu, nospiediet 'q'.");do {c = (char) br.read();System.out.println(c);}while (c != 'q'); }}

Rezultāts:Ievadiet simbolus! Lai pabeigtu, nospiediet 'q'.a <Enter>ab <Enter>bq <Enter>qProcess completed.

23

Page 24: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Mantošana 1. Bāzes klase jeb galvenā klase jeb vecāku klase jeb superklase

package JAVA_.client;import java.util.*; // Eksistējošo programmu pakešu piesaistīšana. public class Cilveks { private String pers_kods; // Atribūti jeb lauki private String vards; private String uzvards; private double pamatalga; // Konstruktors public Cilveks(){} public Cilveks(String a_pers_kods, String a_vards, String a_uzvards, double a_pamatalga) { this.pers_kods = a_pers_kods; this.vards = a_vards; this.uzvards = a_uzvards; this. pamatalga = a_pamatalga; } // Metodes public String getPers_kods() { return pers_kods;} public String getVards() { return vards;} public String getUzvards() { return uzvards;} public double getAlga() { return pamatalga; } }

2. Pakārtotā klase jeb meitas klase

package JAVA_.client;import java.util.*; // Eksistējošo programmu pakešu piesaistīšana. public class Galdnieks extends Cilveks { private double piemaksa; public Galdnieks (String a_pers_kods, String a_vards, String a_uzvards, double a_pamatalga, double a_piemaksa) { super (a_pers_kods, a_vards, a_uzvards, a_pamatalga); this.piemaksa = a_piemaksa; }public double getPiemaksa ( ) { return piemaksa ;} public double getAlga() { return super.getAlga() + piemaksa;} }

klase Cilveks

pakārtotā klase Galdnieks

metode getAlga()

metode getAlga()

24

Page 25: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

3. Klases CilveksTests un GaldnieksTests

package JAVA_.client;import java.util.*;public class CilveksTests{ public static void main (String [] args) { Cilveks [] cilveki = new Cilveks [3]; cilveki [0] = new Cilveks ("210650-12345", "Juris", "Koks", 400.50); cilveki [1] = new Cilveks ("110980-23456", "Rasma", "Celms", 500.50); cilveki [2] = new Cilveks ("300475-45678", "Liene", "Sakne", 550.50); for (Cilveks d : cilveki) System.out.println("uzvards= "+ d.getUzvards() + ", pamatalga = " + d.getAlga() );} }

uzvards= Koks, pamatalga= 400.5uzvards= Celms, pamatalga= 500.5uzvards= Sakne, pamatalga= 550.5

package JAVA_.client;import java.util.*;public class GaldnieksTests{ public static void main (String [] args) { Galdnieks [] galdnieki = new Galdnieks [3]; galdnieki [0] = new Galdnieks ("210650-12345", "Juris", "Koks", 400.50, 100.00); galdnieki [1] = new Galdnieks ("110980-23456", "Rasma", "Celms", 500.50, 100.00); galdnieki [2] = new Galdnieks ("300475-45678", "Liene", "Sakne", 550.50, 100.00); for (Galdnieks d : galdnieki) System.out.println("uzvards= "+ d.getUzvards() + ", pamatalga ar piemaksu = " + d.getAlga() );} }

uzvards= Koks, pamatalga ar piemaksu = 500.5uzvards= Celms, pamatalga ar piemaksu = 600.5uzvards= Sakne, pamatalga ar piemaksu = 650.5

25

Page 26: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

1. Klase CilveksGaldnieksTests

package JAVA_.client;import java.util.*;public class CilveksGaldnieksTests{ public static void main (String [] args) { Galdnieks [] galdnieki = new Galdnieks [3]; galdnieki [0] = new Galdnieks ("210650-12345", "Juris", "Koks", 400.50, 100.00); galdnieki [1] = new Galdnieks ("110980-23456", "Rasma", "Celms", 500.50, 100.00); galdnieki [2] = new Galdnieks ("300475-45678", "Liene", "Sakne", 550.50, 100.00); for (Galdnieks d : galdnieki) System.out.println("uzvards= "+ d.getUzvards() + ", pamatalga ar piemaksu = " + d.getAlga() ); for (Cilveks d : cilveki) System.out.println("uzvards= "+ d.getUzvards() + ", pamatalga = " + d.getAlga() );} }

uzvards= Koks, pamatalga ar piemaksu = 500.5uzvards= Celms, pamatalga ar piemaksu = 600.5uzvards= Sakne, pamatalga ar piemaksu = 650.5uzvards= Koks, pamatalga = 500.5uzvards= Celms, pamatalga = 600.5uzvards= Sakne, pamatalga = 650.5

26

Page 27: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

package JAVA_.client;import java.util.*;public class CilveksGaldnieksTests{ public static void main (String [] args) { Galdnieks [] galdnieki = new Galdnieks [3]; galdnieki [0] = new Galdnieks ("210650-12345", "Juris", "Koks", 400.50, 100.00); galdnieki [1] = new Galdnieks ("110980-23456", "Rasma", "Celms", 500.50, 100.00); galdnieki [2] = new Galdnieks ("300475-45678", "Liene", "Sakne", 550.50, 100.00); for (Galdnieks d : galdnieki) System.out.println("uzvards= "+ d.getUzvards() + ", pamatalga ar piemaksu = " + d.getAlga() ); Cilveks [] cilveki = new Cilveks [3]; cilveki [0] = galdnieki [0]; cilveki [1] = galdnieki [1]; cilveki [2] = galdnieki [2]; for (Cilveks d : cilveki) System.out.println("uzvards= "+ d.getUzvards() + ", pamatalga = " + d.getAlga() );} }

uzvards= Koks, pamatalga ar piemaksu = 500.5uzvards= Celms, pamatalga ar piemaksu = 600.5uzvards= Sakne, pamatalga ar piemaksu = 650.5uzvards= Koks, pamatalga = 500.5uzvards= Celms, pamatalga = 600.5uzvards= Sakne, pamatalga = 650.5

27

Page 28: ("Sakam apgut JAVA's · Web viewJava klase – objektu šablons Java klases eksemplāri - objekti Java klases objekts Java klases objekts Java klase Java klases objekts Katram objektam

Klases paplašināšana ar klasi

class Attr { private String name; Klases atribūti private Object value = null; public Attr(String nameOf) Konstruktori { name = nameOf; } public Attr(String nameOf, Object valueOf) { name = nameOf; value = valueOf; } public String nameOf() { return name; } Metodes public Object valueOf() { return value; } public Object valueOf(Object newValue) { Object oldVal = value; value = newValue; return oldVal; } }

class ColorAttr extends Attr { private ScreenColor myColor; // преобразованный цветpublic ColorAttr(String name, Object value) Konstruktori { super(name, value); decodeColor(); } // Superklases konstruktora izsaukšanapublic ColorAttr(String name) {this(name, “transparent”); } // Šīs klases konstr.izsaukšanapublic ColorAttr(String name, ScreenColor value) { super(name, value.toString()); myColor = value; }public Object valueOf(Object newValue) {// сначала выполнить метод valueOf() суперклассаObject retval = super.valueOf(newValue);decodeColor();return retval; }/** Присвоить атрибуту ScreenColor значение, а не описание */public ScreenColor valueOf(ScreenColor newValue) {// сначала выполнить метод valueOf() суперклассаsuper.valueOf(newValue.toString());myColor = newValue;return newValue; }/** Вернуть преобразованный объект ScreenColor */public ScreenColor color() {return myColor; }/** Задать ScreenColor по описанию в valueOf */protected void decodeColor() {if (valueOf() == null) myColor = null;elsemyColor = new ScreenColor(valueOf()); } }

SuperklaseObject

SuperklaseAttr

Pakārtotā klaseColorAttr

28