Jrjendid II Objektorienteeritus programmeerimises 5 loeng 12262021 Punkt
Järjendid (II) Objekt-orienteeritus programmeerimises 5. loeng 12/26/2021 Punkt 1
Järjend 3, -5, 93, 2 3 -5 93 2 12/26/2021 Ühemõõtmeline massiiv 3 -5 93 2 [0] [1] [2] [3] 3 -5 93 [0] [1] [2] [3] Punkt a 2 4 length 2
Algtüüpi muutuja x: int x; x koht täisarvu jaoks Viittüüpi muutuja (ehk osuti) y: int[] y; y koht täisarvude massiivi (objekti) viida jaoks Viittüüpi muutuja (ehk osuti) z: String z; z koht sümbolijärjendit sisaldava objekti viida jaoks 12/26/2021 viit Punkt objekti ˜˜ objekti aadress 3
Massiivi töötlemise meetodid. Klass Jada 0 [Aabits, vihik 4] Jada 0 Antud int max(int[] a) järjend a int min(int[] a) järjend a int summa(int[] a) järjend a double keskmine(int[] a) järjend a int neg. Arv(int[] a) järjend a boolean on. Neg(int[] a) järjend a int mitu(int[] a, int e) järjend a, arv e void vahetada(int[] a, int i, int j) järjend a, indeksid i, j void sort(int[] a) järjend a int[] asukoht(int[] a, int e) järjend a, arv e int otsi. Koht(int[] a, int x) järjend a, arv x int[] lisa(int[] a, int k, int x) järjend a, ind. k, arv e int[] eemalda(int[] a, int k) järjend a, indeks k void trüki(String nimi, int[] a) sõne nimi, järjend a void main(String[] args) sõnejärjend args Tulemus tagast. : int tagast. : double tagast. : int tagast. : boolean tagast. : int a muudetud tagast. : viit uuele tagast. : int tagast. : viit uuele trükitud nimi+a testitulemused
Veel järjendeid • Sõnejärjend String[] – Käsurealt • Reaalarvujärjend double[] 12/26/2021 Punkt 5
Objekt-orienteeritus programmeerimises • Klassi mõiste • Klassikirjeldus • Isendiväli • Isendimeetod • Konstruktor 12/26/2021 6
Loomade tsirkus Loom vanus häälitsus sõnavõtt() class Loom{ int vanus; String häälitsus; Loom vanus: 4 häälitsus: “mää” Klass Isendiväli void sõnavõtt(){ for(int i = 1; i <= vanus; i++) Isendimeetod System. out. println(häälitsus); } } 12/26/2021 OO 7
Selleks, et saaks luua konkreetse looma isendit – objekti klassist Loom, peab klassis olema ka konstruktor: class Loom{ int vanus; String häälitsus; Loom(int v, String h){ vanus = v; häälitsus = h; } void sõnavõtt(){ for(int i = 0; i < vanus; i++) System. out. println(häälitsus); } } 12/26/2021 OO 8
class Tsirkus{ public static void main(String[] args){ Loom kiisu. Kiti; Loom kõuts. Ants; Loom koer. Muri; kiisu. Kiti = new Loom(2, “NÄUU“); kõuts. Ants = new Loom(4, “KURRNÄU“); koer. Muri = new Loom(3, “AUHH“); Loom tall. Ute = new Loom(4, “mää“); kiisu. Kiti. sõnavõtt(); koer. Muri. sõnavõtt(); kõuts. Ants. sõnavõtt(); kiisu. Kiti. sõnavõtt(); } } OO 9
Erisümbolitega (nt Ä) sõne konsoolile: vt. Leksikon (2002), märksõna: sõneliteraal. Sümbolite koodide leidmiseks käivita programm java ASCII Fail ASCII. class on lisatud käesoleva loengu materjalidele. 12/26/2021 10
Punkt tasandil on antud oma kahe koordinaadiga. Kolm punkti (mis ei asu ühel ja samal sirgel) määravad alati mingi kolmnurga, st on teatud kindla kolmnurga tippudeks. y (1; 2) (5; 1) x (3; -4) 12/26/2021 Punkt 11
[vt Aabits. Vihik 2] Punkt privaatsed isendiväljad: x y isendimeetodid: x( ) y( ) veerand( ) kaugus(Punkt p) kaugus(Sirge s) to. String( ) class Punkt{ private double x; private double y; Punkt(double a, double b){//kon x = a; y = b; }//konstruktor. . . public double kaugus(){ return Math. sqrt(x*x + y*y); }//kaugus. . . }//Punkt
class Test_Punkt 00{ public static void main(String[ ] args){ Punkt a = new Punkt(1. 0, 1. 0); Punkt b = new Punkt(1. 0, -1. 0); System. out. println("punkti a abstsiss: " + a. x() ); // !! Ei saa: a. x = 2. 0; double k 1 = a. kaugus(); double k 2 = b. kaugus(); System. out. println("a kaugus nullpunktist = " + k 1 ); System. out. println("b kaugus nullpunktist = " + k 2 ); int v = b. veerand(); System. out. println(" v = " + v ); if(v != 0) System. out. println("punkti b veerand: " + v ); } } 12/26/2021 Punkt 13
Hääldusjuhiseid new [nu] private [praɪvʌt] 12/26/2021 – uus – privaatne Punkt 14
- Slides: 14