Professional Documents
Culture Documents
Op Konspektas
Op Konspektas
Programavimo esmė – aprašyti su uždaviniu susijusius realiojo pasaulio objektus (jų savybes ir elgseną)
bei kas su šiais objektais atliekama.
Klasės ir objektai
Klasė – tai bendrinis vienatipių objektų grupės savybių ir elgsenos aprašymas.
Savybės (objekto charakteristikos) aprašomos duomenų laukais.
Elgsena (objekto atsakas į išorinį poveikį) aprašoma metodais.
Klasė leidžia neaprašinėti savybių ir elgsenos kiekvienam objektui, tik nurodyti jų priklausomybę
klasei.
Esmė
OP idėja – duomenų ir juos naudojančių funkcijų apjungimas į vieną visumą (objektą):
objekto duomenys išorėje tiesiogiai nepasiekiami, tik per juos perskaitantį objekto
sąsajos metodą
jei reikia keisti objekto duomenis, kreipiamės į juos įrašantį objekto sąsajos metodą
Duomenų ir juos naudojančių funkcijų apjungimas į vieną visumą ir paslėpimas nuo išorės
vadinamas inkapsuliacija.
Duomenų struktūros
Daug vienos rūšies duomenų: atmintinės laukai nuosekliai išdėstytoms vieno tipo reikšmėms –
masyvai.
Daug skirtingų rūšių duomenų: atmintinės laukai nuosekliai išdėstytoms skirtingų tipų
reikšmėms – struktūros.
Komentarai skirti:
Klasės elementų matomumu vadinama galimybė juos panaudoti klasės viduje ir išorėje.
Matomumo požymis suteikiamas užrašius vieną iš raktinių žodžių private ar public.
Sąsajų esmė
Metodai
Metodu vadinama specialiai apiforminta objekto elgseną nusakanti programos dalis.
Metodo aprašymas talpinamas klasėje ir susideda iš vardo, parametrų sąrašo ir
kamieno.
Per parametrus metodui perduodami duomenys.
Skaičiavimų rezultatai grąžinami per metodo vardą.
Metodo dalys:
Tipas – metodo vardo (kintamojo) tipas.
MetodoVardas – metodo esmę atspindintis kintamasis, naudojamas kreipinyje ir per kurį
grąžinamas atsakymas.
Parametrai – kintamųjų (metodo parametrų) aprašymas. Parametrai aprašomi kaip paprasti
kintamieji – juos naudosime Kamiene.
Atsakymas – reiškinys, pagal kurį apskaičiuojama atsakymo reikšmė. Operatorius returnšią
reikšmę suteikia reikšmę kintamajam MetodoVardasir užbaigia metodo darbą.
Kamienas – atliekamus veiksmus aprašanti programa.
Objektų konstruktorius
o Konstruktorius – tai specialus metodas, kviečiamas kuriant objektą ir nustatant jo
savybių pradines reikšmes.
o Konstruktorius neturi tipo, vardas sutampa su klasės vardu, jis negrąžina reikšmės.
Konstruktorius dalyvauja kuriant objektus pagal klasės aprašymą:
Prekepr1 = newPreke();
Konstruktorius skirtas:
Return sakinys
•Reikšmei grąžinti per metodo vardą naudojamas sakinys: return reiškinys;
•Grąžinamo reiškinio tipas turi atitikti metodo grąžinamos reikšmės tipą.
•Metode gali būti keli return sakiniai.
•Įvykdžius return sakinį, išeinama iš metodo.
Antraštės taisyklės
•Antraštė pradedama public static
•Antraštėje svarbu tinkamai apibrėžti grąžinamos reikšmės tipą. 2rūšys:
–Klasės objektas –operatoriams, kurie nekeičia pirmojo objekto reikšmės. Tai +, *, /ir t.t.;
–bool–palyginimo operatoriams ==, !=ir t.t.
•Toliau –operator operatoriaus_simbolis
•Jei operatorius vienvietis, vienas parametras.
•Jei operatorius dvivietis, visada pirmasis parametras turi formą X pirmas, kur X –vardas klasės,
kuriai užklojamas operatorius, o antrasis parametras –tai su kuo dalyvauja operacijoje pirmasis
parametras.
Užklojimo apibrėžimas
Užklojimas – tai programavime taikoma praktika, leidžianti pateikti dvi ar daugiau skirtingų to
paties metodo realizacijų toje pačioje apibrėžimo srityje (klasėje). Kitaip tai galimybė naudoti tą
patį vardą dviem ar daugiau metodų.
Paveldėjimas naudojamas, kai reikia sukurti naują klasę, kuri nedaug skiriasi nuo kitos, anksčiau
sukurtos.
•Išvestinė klasė paveldi visas bazinės klasės savybes (kintamuosius) ir elgseną (metodus).
Klasių hierarchija
•Klasės, tarpusavyje susietos paveldimumu, sudaro klasių hierarchiją.
•Klasių hierarchijos viršuje yra abstraktesnės klasės, o einant žemyn klasės darosi konkretesnės.
•Klasės, esančios hierarchijos viduryje, yra kartu ir bazinės ir išvestinės.
•Tiesioginė bazinė klasė –tai klasė, iš kurios išreikšta išvestinė klasė paveldi.
•Netiesioginė bazinė klasė –tai klasė, iš kurios paveldima per klasių hierarchiją.
•Klasių hierarchijos pradžioje yra klasė object, kurią kiekviena klasė tiesiogiai ar netiesiogiai
paveldi.
•Vienetinis paveldėjimas –tiesiogiai paveldima tik iš vienos klasės.
•Neišreikštas daugybinis paveldėjimas įmanomas, paveldint sąsajas.
Paveldėjimo nauda
•Klasių hierarchijos mechanizmas leidžia bendrąsias panašių klasių savybes ir funkcionalumą
apjungti bazinėse klasėse, o išvestinėse klasėse palikti tik specifines:
–palengvina uždavinio struktūrizavimą;
–leidžia sumažinti kodo pasikartojimą, sutaupyti atminties ir laiko sąnaudas.
T07 Paieška ir rikiavimas
Išrinkimo rikiavimo algoritmas
Kartais vadinamas MinMaxrikiavimo algoritmu.
1. Mažiausią reikšmę surandame visame masyve, t.y. nuo nulinio iki (n-1)-ojo elementų.
Sukeičiame vietomis surastojo element ir nulinio element reikšmes.
2. Surandame mažiausią reikšmę turintį elementą masyvo interval nuo 1-ojo iki (n-1)-ojo
elementų. Sukeičiame vietomis surastojo element ir 1-ojo elemento reikšmes.
3. Surandame mažiausią reikšmę turintį elementą masyvo interval nuo 2-ojo iki (n-1)-ojo
elementų. Sukeičiame vietomis surastojo elemento ir 2-ojo element reikšmes.
Taip darome tol, kol intervale lieka tik viena reikšmė
Atlikus visus veiksmus masyvo elementų reikšmės bus išdėstytos didėjimo tvarka.
Burbuliuko metodas
Jo esmė – lyginti tarpusavyje gretimus narius ir jei jie neatitinka reikiamai tvarkai, sukeisti juos.
Peržiūrėjus poromis visus masyvo narius, vienas jų atsiranda savo vietoje, o pats masyvas tampa
„tvarkingesniu“.
Algoritmas:
•reikšmės lyginamos poromis nuo masyvo pabaigos
•jeigu reikia, sukeičiamos vietomis
•masyvas peržiūrimas n-1 kartą
•jei eilinės peržiūros metu sukeitimų nebuvo, darbas nutraukiamas anksčiau
P10 Polimorfizmas
Polimorfizmas – tai galimybė to paties tipo objektui skirtingai elgtis skirtingame kontekste.
•Galima skirti tokius polimorfizmo tipus:
–operatorių užklojimas,
–metodų užklojimas,
–abstrakčiųjų metodų naudojimas.
Atitikimo simboliai
•. –Atitinka bet kokį vieną simbolį, išskyrus naujos eilutės
• [intervalas] –Atitinka vieną simbolį iš intervalo.
• [^intervalas] –Atitinka vieną simbolį ne iš intervalo.
•\n –Atitinka naujos eilutės simbolį. Reguliarioje išraiškoje turi būti "\\n".
•\t –Atitinka naujos tabuliacijos simbolį.
•\f –Atitinka formos nusiuntimo simbolį.
•\v –Atitinka vertikalios tabuliacijos simbolį
•\r –Karietos grąžinimo simbolį
•\xhh –Šešioliktainis formatas. "\\xf3".
•\uhhhh –Šešioliktainis Unicode formatas. "\\u02f3".
•\d –Skaitmuo. Ekvivalentu [0-9]
•\D –Ne skaitmuo. Ekvivalentu [^0-9]
•\s –Bet koks tarpo simbolis (tarpas, tabuliacija, nauja eilutė)
•\S –Bet koks ne tarpo simbolis
•\w –Skaitmuo, raidė ar pabraukimas.
•\W –Ne (skaitmuo, raidė, pabraukimas).
•\b –Žodžio riba. Žodis turi prasidėti ar pasibaigti šioje pozicijoje. Žodžius sudaro raidės,
skaitmenys, pabraukimai; atskirti tarpais ir skyrikliais.
•\B –Ne žodžio riba
•^ –Eilutės pradžia
•$ –Eilutės pabaiga