Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
|
|
- Shonda Walton
- 5 years ago
- Views:
Transcription
1 Polimorfizmas Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras
2 Dar apie paveldėjimą Java kalboje kiekvienas paveldėtos klasės objektas gali būti naudojamas ten, kur reikalingas tėvinės klasės objektas P.Kasparaitis. Objektinis programavimas. Polimorfizmas 2
3 Paveldėjimo pavyzdys class Figura { void metodas (Figura F) { System.out.println( F );} } class Kvadratas extends Figura { public static void main (String[] args) { Kvadratas k=new Kvadratas(); Figura f=new Figura(); f.metodas (k); //Kvadratas vietoje Figura f=k; //k=f; } } P.Kasparaitis. Objektinis programavimas. Polimorfizmas 3
4 Klasė Gyvunas class Gyvunas { void kalba() { System.out.println("Gyvunas kalba");}} class Kate extends Gyvunas { void kalba() { System.out.println("Kate miaukia");}} class Suo extends Gyvunas { void kalba() { System.out.println("Suo loja");}} class Lusis extends Kate { void kalba() { System.out.println("Lusis urzgia");}} P.Kasparaitis. Objektinis programavimas. Polimorfizmas 4
5 Pavyzdys be paveldėjimo class Gyvunai { void kalbeti(kate k) {k.kalba();} void kalbeti(suo s) {s.kalba();} void kalbeti(lusis l) {l.kalba();}... Kate k=new Kate(); kalbeti(k); Suo s=new Suo(); kalbeti(s); Lusis l=new Lusis(); kalbeti(l); } P.Kasparaitis. Objektinis programavimas. Polimorfizmas 5
6 Plečiamumo problemos Jei atsiranda naujas gyvūnas, reikia perrašyti metodą kalbėti Jei atsiranda naujas metodas, jį reikia parašyti visiems gyvūnams P.Kasparaitis. Objektinis programavimas. Polimorfizmas 6
7 Pavyzdys su paveldėjimu class Gyvunai { void kalbeti(gyvunas g) {g.kalba();} //buvo void kalbeti(kate k) {k.kalba();}... Kate k=new Kate(); kalbeti(k); Suo s=new Suo(); kalbeti(s); Lusis l=new Lusis(); kalbeti(l); Gyvunas g=new Gyvunas(); kalbeti(g); } P.Kasparaitis. Objektinis programavimas. Polimorfizmas 7
8 Rezultatų komentarai Programa atspausdins: Kate miaukia Suo loja Lusis urzgia Gyvunas kalba Iš kur programa žino, kada kurios klasės metodą kviesti? P.Kasparaitis. Objektinis programavimas. Polimorfizmas 8
9 Metodo surišimas Medodo iškvietimo susiejimas su metodo kūnu vadinamas surišimu Jei susiejimas atliekamas prieš vykdymą (kompiliatoriaus ar linkerio), toks surišimas vadinamas ankstyvu (angl. early binding) Susiejimas vykdymo metu vadinamas vėlyvu arba dinaminiu surišimu (angl. late, dynamic, run-time binding) P.Kasparaitis. Objektinis programavimas. Polimorfizmas 9
10 Surišimo naudojimas Metodams static ir final (private taip pat yra final) naudojamas ankstyvas surišimas Visiems kitiems metodams naudojamas dinaminis surišimas Programuotojui nereikia rūpintis, kada koks surišimas bus naudojamas, tai atliekama automatiškai P.Kasparaitis. Objektinis programavimas. Polimorfizmas 10
11 Polimorfizmas Polimorfizmas -galimybė turėti skirtingas elgsenas (skirtingas metodų realizacijas) skirtingose situacijose naudojant tipus Jei imame nurodą įobjektą ir ją naudojame kaip nuorodą įbazinę klasę, toks veiksmas vadinamas nukirtimu iš viršaus (angl. upcasting) Nukirtimas iš apačios (angl. downcasting) yra nuorodos į bazinę klasę naudojimas vietoje nuorodos į paveldėtą klasę P.Kasparaitis. Objektinis programavimas. Polimorfizmas 11
12 Polimorfizmo naudojimo privalumai Programinis kodas lengvai rašomas ir skaitomas Klasės sąsaja vienoda, tipų specifika svarbi realizacijoje. Neįtakojamos klasės - naudotojos Naudojama daug kur, net standartinėse Java klasėse, pvz., upcast į Object tipą P.Kasparaitis. Objektinis programavimas. Polimorfizmas 12
13 Polimorfizmo naudojimo trūkumai Jei reikia vaikinės klasės savybių, klasėse-naudotojose reikia būtinai panaudoti downcast veiksmą Pvz., Figura a = new Kvadratas(); Kvadratas b = (Kvadratas)a; P.Kasparaitis. Objektinis programavimas. Polimorfizmas 13
14 Statinis ir dinaminis tipas Statinis tipas yra deklaruojamas tipas: Pvz., K1 a; Dinaminis tipas yra tipas, su kuriuo kintamasis siejamas. Pvz., a = new K2(); P.Kasparaitis. Objektinis programavimas. Polimorfizmas 14
15 Tipų tikrinimas Polimorfizmas leidžia kintamiesiems skirtingu metu rodyti į skirtingų tipų objektus Pvz., K1 a = new K1(); K2 b = new K2(); a = b; Priskyrimas a=b yra įmanomas, jei statinis b tipas yra K1 arba paveldėtas iš K P.Kasparaitis. Objektinis programavimas. Polimorfizmas 15
16 Dinaminis/statinis surišimas Dinaminis surišimas vyksta, kai dinaminis tipas nurodo, kuris metodas kviečiamas Statinis surišimas vyksta, kai statinis tipas nurodo, kuris metodas kviečiamas P.Kasparaitis. Objektinis programavimas. Polimorfizmas 16
17 Tipiška klaida Bandant perrašyti private metodą iš tikrųjų sukursite naują metodą Kompiliatorius jokio pranešimo neišves P.Kasparaitis. Objektinis programavimas. Polimorfizmas 17
18 Private metodo perrašymo pvz. class Gyvunas { private void kalba() { System.out.println( Gyvunas kalba );} } class Kate extends Gyvunas { public void kalba() { System.out.println( Kate miaukia );} public static void main (String[] args) { Gyvunas g=new Kate(); g.kalba();} } //atspausdins "Gyvunas kalba" P.Kasparaitis. Objektinis programavimas. Polimorfizmas 18
19 Kaip sužinoti tipą? Prieš atliekant downcast veiksmą reikia žinoti objekto tipą Tam skirtas operatorius instanceof Pvz., if(x instanceof Suo) ((Suo)x).loti(); P.Kasparaitis. Objektinis programavimas. Polimorfizmas 19
20 Abstrakti klasė Abstrakti klasė (angl. abstract class) parūpina bendrą sąsają klasėms, kurios paveldi abstrakčios klasės savybes Abstrakti klasė turi bent vieną abstraktų metodą Abstraktus metodas bei klasė žymimi raktiniu žodžiu abstract Abstraktus metodas turi deklaraciją, bet neturi realizacijos P.Kasparaitis. Objektinis programavimas. Polimorfizmas 20
21 Abstrakti klasė Abstrakčios klasės objektai nekuriami - kompiliatorius neleis šito daryti Abstraktūs metodai realizuojami vaikinėse klasėse Abstrakti klasė taip pat gali būti vaikine abstrakčios klasės klase. Abstrakti klasė gali turėti konstruktorius P.Kasparaitis. Objektinis programavimas. Polimorfizmas 21
22 Interface klasė Abstrakti klasė leidžia turėti abstrakčius metodus, kurie neturi konkrečios realizacijos Interface klasė yra visiškai abstrakti klasė, t. y. visi metodai yra abstraktūs (pagal nutylėjimą!) Interface klasė įgalina daugybinį paveldimumą (angl. multiple inheritance) Interface klasė gali turėti laukus (kintamuosius), bet jie yra pagal nutylėjimą static ir final P.Kasparaitis. Objektinis programavimas. Polimorfizmas 22
23 Interface klasė Interface klasė deklaruojama žodžiu interface, nerašant žodžio class(!) Vaikinė interface klasės klasė turi naudoti raktinį žodį implements ir realizuoja atitinkamus metodus Pagal nutylėjimą interface klasės metodai yra public, todėl jų realizacijos irgi public Interface klasė gali būti ir interface klasės vaikinė klasė Interface neturi konstruktorių P.Kasparaitis. Objektinis programavimas. Polimorfizmas 23
24 Nukirtimas (upcast) iki kelių klasių 1 interface A { void af(); } 2 interface B { void bf(); } 3 public class C implements A, B { 4 public void af() { System.out.println("af"); } 5 public void bf() { System.out.println("bf"); } 6 public static void main(string[] args){ 7 C cc = new C(); 8 A aa = cc; 9 aa.af(); 10 B bb = cc; 11 bb.bf(); 12 } 13 } P.Kasparaitis. Objektinis programavimas. Polimorfizmas 24
25 Interfeisų panaudojimas konstantų rinkiniams sudaryti 1 public interface Months { 2 int JANUARY = 1, FEBRUARY = 2, MARCH = 3, 3 APRIL = 4, MAY = 5, JUNE = 6, 4 JULY = 7, AUGUST = 8, SEPTEMBER = 9, 5 OCTOBER = 10, NOVEMBER = 11, DECEMBER = 12; 6 } Reikšmės pagal nutylėjimą yra public, static ir final, jos naudojamos taip: Months.JANUARY P.Kasparaitis. Objektinis programavimas. Polimorfizmas 25
26 Vardų kolizijos jungiant interfeisus 1 interface I1 { void f(); } 2 interface I2 { int f(int i); } 3 interface I3 { int f(); } 4 class C { public int f() { return 1; } 5 class C2 implements I1, I2 { 6 public void f() {} 7 public int f(int i) { return 1; } //perkrovimas 9 } 10 class C3 extends C implements I2 { 11 public int f(int i) { return 1; } //perkrovimas 12 } 13 class C4 extends C implements I3 { 14 public int f() { return 1; } //sutampa, todėl gerai 12 } 13 // class C5 extends C implements I1 {} blogai, nes skiriasi tik 14 // interface I4 extends I1, I3 {} grąžinamas tipas P.Kasparaitis. Objektinis programavimas. Polimorfizmas 26
27 Interfeisas vs. abstrakti klasė Tiek interfeisas, tiek abstrakti klasė pateikia programuotojui sąsają, o realizacija nebūtina Be to, interfeisas leidžia nukirsti (upcast) iki daugiau nei vienos klasės Taigi interfeisas turi visus abstrakčios klasės privalumus, todėl geriau naudoti interfeisą P.Kasparaitis. Objektinis programavimas. Polimorfizmas 27
Paveikslėliai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
Paveikslėliai Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Klasė Image Priklauso paketui java.awt Abstrakti klasė paveldėta iš Object Tai visų grafinių paveikslėlių
More informationJAVA pagrindai Lek. Liudas Drejeris
JAVA pagrindai Lek. Liudas Drejeris Programa (1) Programa, tai eilė instrukcijų (vadinamų programiniais sakiniais), kurie vykdomi paeiliui, kol gaunamas norimas rezultatas. Programa (2) Programa (2) /*
More informationC++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita)
C++ programavimo kalba Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) Konstruktorius Sukuriant objektą, jo duomenims paprastai turi būti priskiriamos pradinės
More informationApletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Java grafinės bibliotekos AWT (Abstract Window Toolkit) Swing 2009.04.09 P.Kasparaitis. Objektinis
More informationC++ programavimo kalba
C++ programavimo kalba Šablonai (10 paskaita) Kodėl šablonai (templates)? Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų tipais (pvz. modulio radimas,
More informationIšdėstymai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
Išdėstymai Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Išdėstymo valdymas Java kalboje komponentų išdėstymą valdo programos kodas, o ne resursai (kaip kitose
More informationC++ programavimo kalba
C++ programavimo kalba Santrauka doc.dr. Dalius Mažeika Dalius.Mazeika@fm.vtu.lt VGTU SC L318 Programavimo kalbos Procedūrinės (Assembler, ankstyvos, Fortran versijos) Pagrindą sudaro procedūros. Kiekvienas
More informationCome to the TypeScript
Come to the TypeScript we have type hinting! Sergej Kurakin Sergej Kurakin Amžius: 36 Dirbu: NFQ Technologies Pareigos: Programuotojas Programuoti pradėjau mokytis 1996 metais. Programuotoju dirbu nuo
More informationWeb servisai WSDL. Osvaldas Grigas
Web servisai WSDL Osvaldas Grigas Web servisų aprašymas Kiekvienas web servisas yra unikalus Jis turi adresą(arba kelis adresus), kuriuo į jį galima kreiptis. Jis supranta tik tam tikros struktūros įeinančius
More informationC++ programavimo kalba
C++ programavimo kalba Klasės, klasių savybės, vardų erdvės (3 paskaita) OOP Struktūrinio programavimo modelio problema: Didelės programos tampa labai sudėtingos t.y. egzistuoja tūkstančiai kintamųjų ir
More informationC programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() )
C programavimo kalba 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) Sąlygos operatorius if - else Sąlygos operatoriai skirti perduoti programos vykdymą vienai ar kitai programos šakai. Operatorius
More informationC++ programavimo kalba
C++ programavimo kalba Operatorių perkrovimas (7 paskaita) Operatorių perdengimas Programavimo kalbose naudojami operatoriai pasižymi polimorfizmu (daugiavariantiškumu). Kaip pavyzdys gali būti operatorius
More informationC++ programavimo kalba
C++ programavimo kalba Rodyklė this, C++ string klasė (9 paskaita) Rodyklėthis Visos objekto funkcijos gali naudotis rodykle this, kuri rodo į patį objektą. Tokiu būdu kiekviena funkcija gali rasti objekto,
More informationEl. pašto konfigūravimas
El. pašto konfigūravimas Outlook Express (integruota Windows XP) elektroninio pašto klientas Žemiau pateikta instrukcija, kaip sukonfigūruoti savo elektroninį paštą vartotojams, turintiems elektroninio
More information6-7-8 PASKAITOS. Bendros žinios
6-7-8 PASKAITOS Turinys: Paveldimumas Bendros žinios. Išvestinės klasės konstruktoriai. Paveldimumas ir metodų perkrovimas. Įvadas į abstrakčias klases. Bendrasis ir dalinis paveldimumas. Daugybinis paveldimumas.
More informationMasyvai Javoje. Masyvai. Objektų talpyklos. Masyvo tipas. Deklaravimo pavyzdžiai. Deklaracija ir sukūrimas. Masyvo superklas - Object
Masyvai Javoje Masyvai. Objektų talpyklos (Arrays, collections) Dinamiškai sukuriami java objektai iš anksto apibr žtam komponenčių skaičiui saugoti. Komponent s g.b. primityvaus tipo arba nuorodos tipo
More informationInterneto technologijų taikymai
Interneto technologijų taikymai Mantas Puida (mantasp@gmail.com) VI paskaita Entity pirminis raktas Kiekviena Entity klasė privalo turėti pirminį raktą (Primary Key). Jei turima Entity objektų hierarchija,
More informationKas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5]
Masyvas 2013 1 Vienmatis masyvas Veiksmai su masyvo elementais: reikšmių priskyrimas ir išvedimas, paieška, rikiavimas. Masyvų perdavimas procedūros (funkcijos) parametrais. 2 Kas yra masyvas? Masyvu vadinamas
More informationGijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017
Gijos Gijų modelis Javoje R.Vaicekauskas, OP, 2017 1 Turinys Motyvacija Sukūrimas Valdymas Sinchronizacija Susijusios klasės 2 Motyvacija Gijos reikalingos tam, kad išreikšti lygiagretumą vieno proceso
More informationĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere
ĮVADAS The Java programming language was introduced in 1995 by Sun Microsystems which has since merged into Oracle Corporation. Derived from languages such as C and C++. Pradžioje Java buvo skirta programuoti
More informationRedis Ma as, greitas, galingas. Specialiai VilniusPHP
Redis Ma as, greitas, galingas Specialiai VilniusPHP 2013.06.06 Sergej Kurakin Na, Jūs mane jau nekarta matėte, tai nieko nesakysiu apie save. Kaip aš susipa inau! Tai buvo prieš keletą metų! Projektas
More informationPHP PROGRAMOS EIGOS VYKDYMO VALDYMAS
PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS Sąlygos sakiniai PHP skriptų vykdymo eigą galite valdyti naudodami sąlygos sakinius. Sąlygos sakiniai tai loginės struktūros, kuriose saugomas kodas, įvykdomas įgyvendinus
More informationC programavimo kalba. 5 paskaita (Funkcijos, masyvai)
C programavimo kalba 5 paskaita (Funkcijos, masyvai) Funkcijų pavyzdys // Skaičių lyginimo programa #include void pmax(int, int); /* prototipas */ int main() {int i, j; for (i = -10; i
More informationElektroninis.lt šakninių sertifikatų diegimas
Elektroninis.lt šakninių sertifikatų diegimas Ši instrukcija aprašo, kaip į kompiuterį įdiegti šakninius elektroninis.lt sertifikatus. Diegimo darbus galima atlikti turint kompiuterio administratoriaus
More informationParengė ITMM Artūras Šakalys 1
2014.02.02 Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 2 Kaip suprantame masyvą? Pavyzdys: Peteliškių šeima; Gėlių laukas; 2014.02.02 Parengė ITMM Artūras Šakalys 3 Kaip suprasti
More informationios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV
ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV Pagrindas OS X, skirtas ARM įrenginiams Programavimo aplinka: XCode ir Objective-C Programavimo kompiuteris -
More informationA Lithuanian Verbalization Template for ORM conceptual models and rules
A Lithuanian Verbalization Template for ORM conceptual models and rules Mustafa Jarrar, Vrije Universiteit Brussel, Belgium. (Contact Author) Maria Keet, Free University of Bozen-Bolzano, Italy. Juozas
More informationWWW aplikacijų saugumas 2
WWW aplikacijų saugumas 2 Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2010-11-26 R. Griškevičius, Saugus programavimas, VGTU, 2009
More informationExample. Section: PS 709 Examples of Calculations of Reduced Hours of Work Last Revised: February 2017 Last Reviewed: February 2017 Next Review:
Following are three examples of calculations for MCP employees (undefined hours of work) and three examples for MCP office employees. Examples use the data from the table below. For your calculations use
More information10/30/2010. Introduction to Control Statements. The if and if-else Statements (cont.) Principal forms: JAVA CONTROL STATEMENTS SELECTION STATEMENTS
JAVA CONTROL STATEMENTS Introduction to Control statements are used in programming languages to cause the flow of control to advance and branch based on changes to the state of a program. In Java, control
More informationCollections (Java) Collections Framework
Collections (Java) https://docs.oracle.com/javase/tutorial/collections/index.html Collection an object that groups multiple elements into a single unit. o store o retrieve o manipulate o communicate o
More informationNaujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams
Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams IBM Programinės įrangos diena 2009 m. spalio 21 d. Andrejus Chaliapinas, IĮ Infosana vadovas http://www.infosana.com Prezentacijos
More informationStruktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; //
C programavimo kalba 10 paskaita (Struktūros) Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // Gale
More informationPaskirstytos atminties lygiagretusis programavimas Įvadas į MPI
Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Distributed memory parallel programming Paskirstytos atminties lygiagretieji kompiuteriai Kiekvienas procesorius turi tik savo nuosavą atmintį
More informationObjektinis programavimas II (JAVA) Rimantas Vaicekauskas, 2013 m.
Objektinis programavimas II (JAVA) Rimantas Vaicekauskas, 2013 m. Objektinis programavimas JAVA Svetainė: http://mif.vu.lt/~rvck/op2/ POBP2214, Programų sistemos, 3 sem., 3 kr., 32+32 val., egzaminas Egzamino
More information09/08/2017 CS2530 INTERMEDIATE COMPUTING 9/8/2017 FALL 2017 MICHAEL J. HOLMES UNIVERSITY OF NORTHERN IOWA TODAY S TOPIC: Exceptions and enumerations.
CS2530 INTERMEDIATE COMPUTING 9/8/2017 FALL 2017 MICHAEL J. HOLMES UNIVERSITY OF NORTHERN IOWA TODAY S TOPIC: Exceptions and enumerations. 1 RUNTIME ERRORS All of us have experienced syntax errors. This
More informationTrumpai-ilga istorija
Įvadas į Web Services Kas yra Web Service? Kas ką žino??? 70-ieji: Mainframe Trumpai-ilga istorija 80-ieji: Client-Server Istorijos 90-ieji: Web 2000: SOA 2010: Cloud Computing Šaltinis: Sergejus Barinovas,
More informationProjektas. .h failai Header failai (interface) .m failai Pačios programos failai ( .xib /.storyboard Vartotojo sąsajos failai
ios Projektas.h failai Header failai (interface).m failai Pačios programos failai (.xib /.storyboard Vartotojo sąsajos failai AppDelegate.h / AppDelegate.m aplikacijos pradiniai startavimo prpograminiai
More informationDTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę:
XML DTD paskirtis DTD (angl. Document Type Definition) paskirtis nusakyti, iš kokių blokų gali būti sudarytas XML (o taip pat ir HTML) dokumentas. Taigi DTD apibrėžia dokumento struktūrą išvardindama leistinus
More informationReusing Classes. Hendrik Speleers
Hendrik Speleers Overview Composition Inheritance Polymorphism Method overloading vs. overriding Visibility of variables and methods Specification of a contract Abstract classes, interfaces Software development
More informationJava kalbos naujovės (nenagrinėtos paskaitose: versijos) R.Vaicekauskas. mif.vu
Java kalbos naujovės (nenagrinėtos paskaitose: 1.5-1.8 versijos) R.Vaicekauskas. OP/Java/ @ mif.vu 2016 Java nuo 5 versijos (2004 rugs.) kalbinės ypatybės Parametrizuojamieji tipai (generics); for ciklas
More informationVilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas)
Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilnius 2010 - 2 - Turinys PROGRAMAVIMO SAMPRATA... - 4 - KINTAMIEJI
More informationPrograminio kodo saugumas
Programinio kodo saugumas Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-12-18 R. Griškevičius, Saugus programavimas, VGTU, 2009
More informationBuferio perpildymo klaida Įvadas, techniniai klausimai
Buferio perpildymo klaida Įvadas, techniniai klausimai Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-10-16 R. Griškevičius, Saugus
More informationEECS2030 Fall 2016 Preparation Exercise for Lab Test 2: A Birthday Book
EECS2030 Fall 2016 Preparation Exercise for Lab Test 2: A Birthday Book Chen-Wei Wang Contents 1 Before Getting Started 2 2 Task: Implementing Classes for Birthdays, Entries, and Books 3 2.1 Requirements
More informationECE Fall 2018, Test 3
1 ECE 30862 Fall 2018, Test 3 DO NOT START WORKING ON THIS UNTIL TOLD TO DO SO. LEAVE IT ON THE DESK. THE LAST PAGE IS THE ANSWER SHEET. TEAR IT OFF AND PUT ALL ANSWERS THERE. TURN IN BOTH PARTS OF THE
More informationUpcasting. Taking an object reference and treating it as a reference to its base type is called upcasting.
7. Polymorphism 1 Upcasting Taking an object reference and treating it as a reference to its base type is called upcasting. class Instrument { public void play () { public class Wind extends Instrument
More informationCONDITIONAL EXECUTION: PART 2
CONDITIONAL EXECUTION: PART 2 yes x > y? no max = x; max = y; logical AND logical OR logical NOT &&! Fundamentals of Computer Science I Outline Review: The if-else statement The switch statement A look
More informationIntermediate Programming
Intermediate Programming Lecture 12 Interfaces What is an Interface? A Java interface specified a set of methods that any class that implements the interfacesmust have. An Interface is a type, which means
More informationImplements vs. Extends When Defining a Class
Implements vs. Extends When Defining a Class implements: Keyword followed by the name of an INTERFACE Interfaces only have method PROTOTYPES You CANNOT create on object of an interface type extends: Keyword
More informationCommon Mistakes with Functions. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington
Common Mistakes with Functions CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Common Mistakes with Functions Printing instead of returning. Returning
More informationMONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY
2018 January 01 02 03 04 05 06 07 Public Holiday 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Supplementary exam: Basic s, Grooming 27 28 29 30 31 01 02 03 04 05 06 Notes: 2018 February 29
More informationInteraktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant.
8. SQL sakiniai taikomosiose programose SQL gali bti vartojama dviem režimais: interaktyviai taikomosiose programose Dvilypumo privalumai: interaktyvaus režimo prieinamos ir programose; SQL derinamas interaktyviai
More informationAmadeus On-Line Helpdesk
Amadeus On-Line Helpdesk Vartotojo instrukcija Skirta kelionių agentūroms Turinys Įžanga... 3 Jungimasis prie Amadeus Helpdesk... 3 Patarimai ir pastabos... 7 Dokumento valdymas 2007 Apsauga Viešas Įmon
More informationMAP OF OUR REGION. About
About ABOUT THE GEORGIA BULLETIN The Georgia Bulletin is the Catholic newspaper for the Archdiocese of Atlanta. We cover the northern half of the state of Georgia with the majority of our circulation being
More informationStat 428 Autumn 2006 Homework 2 Solutions
Section 6.3 (5, 8) 6.3.5 Here is the Minitab output for the service time data set. Descriptive Statistics: Service Times Service Times 0 69.35 1.24 67.88 17.59 28.00 61.00 66.00 Variable Q3 Maximum Service
More informationKodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy
C programavimo kalba 12 paskaita (Daugiafailinės programos, laiko ir datos funkcijos) Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos
More informationProgramavimas C kalba
Programavimas C kalba Mokomoji priemonė Elektronikos specialybės studentams Vytautas Vyšniauskas 2008.01.28 09:26 Šiaulių Universitetas, 2007 Turinys Įvadas... 4 1 Simbolių kodavimas ir ASCII kodų lentelė...
More informationCSE 142, Autumn 2007 Midterm Exam, Friday, November 2, 2007
CSE 142, Autumn 2007 Midterm Exam, Friday, November 2, 2007 Name: Section: Student ID #: TA: Rules: You have 50 minutes to complete this exam. You may receive a deduction if you keep working after the
More informationUniversity of Palestine. Mid Exam Total Grade: 100
First Question No. of Branches (5) A) Choose the correct answer: 1. If we type: system.out.println( a ); in the main() method, what will be the result? int a=12; //in the global space... void f() { int
More informationProgramming Logic and Design Sixth Edition
Objectives Programming Logic and Design Sixth Edition Chapter 6 Arrays In this chapter, you will learn about: Arrays and how they occupy computer memory Manipulating an array to replace nested decisions
More informationMarketing Opportunities
Email Marketing Opportunities Write the important dates and special events for your organization in the spaces below. You can use these entries to plan out your email marketing for the year. January February
More informationMAP OF OUR REGION. About
About ABOUT THE GEORGIA BULLETIN The Georgia Bulletin is the Catholic newspaper for the Archdiocese of Atlanta. We cover the northern half of the state of Georgia with the majority of our circulation being
More informationTrigeris, realizuojantis dalykin taisykl darbuotojas negali dalyvauti daugiau nei 3 projektuose : trigerio kamienas - vienas ar keli SQL sakiniai,
7.5. Dalykins taisykls ir trigeriai 7.5.1. Dalykini taisykli užtikrinimas Duomen vientisumas yra tampriai susijs su vidine konkreios organizacijos darbo tvarka ir galiojaniomis joje taisyklmis, pvz.: darbuotojas
More informationArrays. What if you have a 1000 line file? Arrays
Arrays Chapter 8 page 477 11/8/06 CS150 Introduction to Computer Science 1 1 What if you have a 1000 line file? Read in the following file and print out a population graph as shown below. The maximum value
More informationComputer Grade 5. Unit: 1, 2 & 3 Total Periods 38 Lab 10 Months: April and May
Computer Grade 5 1 st Term Unit: 1, 2 & 3 Total Periods 38 Lab 10 Months: April and May Summer Vacation: June, July and August 1 st & 2 nd week Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 First term (April) Week
More informationObjektiškai Orientuotas Programavimas su C++
Vilniaus Universitetas Matematikos ir Informatikos fakultetas Kompiuterijos katedra Saulius Narkevičius Objektiškai Orientuotas Programavimas su C++ paskaitų konspektai pavasaris 2005 Turinys Pratarmė...
More informationSequential Nonlinear Mapping versus Simultaneous One
INFORMATICA, 2002, Vol. 13, No. 3, 333 344 333 2002 Institute of Mathematics and Informatics, Vilnius Sequential Nonlinear Mapping versus Simultaneous One Algirdas Mykolas MONTVILAS Institute of Mathematics
More informationUčitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.
Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new
More informationSequential Search (Searching Supplement: 1-2)
(Searching Supplement: 1-2) A sequential search simply involves looking at each item in an array in turn until either the value being searched for is found or it can be determined that the value is not
More informationChair of Software Engineering Java and C# in Depth
Chair of Software Engineering Java and C# in Depth Exercise Session Week 3 Agenda Ø Assignment I Review Ø Class Ini;aliza;on and Class Instance Crea;on Ø Quizzes Ø Assignment II Handout 2 Class Diagram
More information1. AJAX įvadas. AJAX principai:
1. AJAX įvadas AJAX principai: Naršyklė talpina programą (application), ne turinį. Serveris siunčia duomenis ne turinį. Asinchroniškumas - asinchroninio request/response siuntimo pagrindinis principas
More informationWeb technologijos. Hostingas JavaScript PHP
jquery & PHP Web technologijos Hostingas JavaScript PHP Kelios hostingo kompanijos serveriai.lt hostex.lt hostinger.lt Nemokamas hostingas su PHP/mysql http://mindaugas.zz.mu/jm1.html Hostingo paslaugų
More information2. Pakopiniai stiliai
1 2. Pakopiniai stiliai 2.1. Pakopiniai stiliai (CSS) Pakopinius stilius (Cascading Style Sheets; CSS) kaip ir HTML sukūrė bei kontroliuoja Pasaulinis hipertekstinės informacijos tinklo konsorciumas (World
More informationCHIROPRACTIC MARKETING CENTER
Marketing Plan Sample Marketing Calendar Here is a sample yearly marketing plan. You should use something similar, but of course add or remove strategies as appropriate for your practice. Letter and advertisement
More informationTutorial 8 (Array I)
Tutorial 8 (Array I) 1. Indicate true or false for the following statements. a. Every element in an array has the same type. b. The array size is fixed after it is created. c. The array size used to declare
More informationŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS
ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Mindaugas Gapšys Informatikos specialybės IV kurso dieninio skyriaus studentas Bash skriptų panaudojimas Unix/Linux operacinių
More informationPaprastų lentelių kūrimas
HTML lentelės Lentelės Informacijos pateikimas HTML-dokumentuose lentelių pagalba yra vienas iš dažniausiai naudojamų. HTML kalboje lentelės yra naudojamos ne tik tradiciškai, kaip duomenų pateikimo metodas,
More informationGuernsey Post 2013/14. Quality of Service Report
Guernsey Post 2013/14 Quality of Service Report The following report summarises Guernsey Post s (GPL) quality of service performance for the financial year April 2013 to March 2014. End-to-end quality
More informationObject Oriented Software Design II
Object Oriented Software Design II Inheritance Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 29, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
More informationApril 1, 2018 ATSC Attachment 1 Page 1 of 12 LG Electronics Inc.
April 1, 2018 ATSC Attachment 1 Page 1 of 12 LG Electronics Inc. CA 2,322,909 CA 2,482,015 CA 2,575,035 CA 2,575,037 CA 2,575,038 CA 2,628,000 CA 2,629,277 CA 2,630,140 CA 2,688,848 CA 2,688,849 CA 2,688,851
More informationRegister your product and get support at SHB9100. LT Vartotojo vadovas
Register your product and get support at www.philips.com/welcome SHB9100 Vartotojo vadovas Turinys 1 Svarbu 4 Klausos sauga 4 4 Bendroji informacija 4 5 5 5 5 Kai garsas iš mobiliojo telefono perduodamas
More informationIntroduction to Computer Programming, Spring Term 2018 Practice Assignment 2 Discussion
German University in Cairo Media Engineering and Technology Prof. Dr. Slim Abdennadher Dr. Mohammed Abdel Megeed Introduction to Computer Programming, Spring Term 2018 Practice Assignment 2 Discussion
More informationhereby recognizes that Timotej Verbovsek has successfully completed the web course 3D Analysis of Surfaces and Features Using ArcGIS 10
3D Analysis of Surfaces and Features Using ArcGIS 10 Completed on September 5, 2012 3D Visualization Techniques Using ArcGIS 10 Completed on November 19, 2011 Basics of Map Projections (for ArcGIS 10)
More informationObject Oriented Software Design II
Object Oriented Software Design II Inheritance Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 29, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
More informationPHP Lietuviškai. Turinys
PHP Lietuviškai Informacija iš interneto pakampių surinko, visa savaitgalį prie Easy PDF sėdėjo ir kankinosi Justinas L. aka scooox. Taigi, kad visi girdėtų, sakau: šitas dokumentas yra surinktas iš visų
More informationApril 1, 2019 ATSC Attachment 1 Page 1 of 12 LG Electronics Inc.
April 1, 2019 ATSC Attachment 1 Page 1 of 12 LG Electronics Inc. CA 2,322,909 CA 2,482,015 CA 2,575,035 CA 2,575,037 CA 2,575,038 CA 2,628,000 CA 2,629,277 CA 2,630,140 CA 2,688,848 CA 2,688,849 CA 2,688,851
More informationCALENDAR OF FILING DEADLINES AND SEC HOLIDAYS
CALENDAR OF FILING S AND SEC HOLIDAYS INFORMATION IN THIS CALENDAR HAS BEEN OBTAINED BY SOURCES BELIEVED TO BE RELIABLE, BUT CANNOT BE GUARANTEED FOR ACCURACY. PLEASE CONSULT WITH PROFESSIONAL COUNSEL
More informationCS Programming I: Arrays
CS 200 - Programming I: Arrays Marc Renault Department of Computer Sciences University of Wisconsin Madison Fall 2017 TopHat Sec 3 (PM) Join Code: 719946 TopHat Sec 4 (AM) Join Code: 891624 Array Basics
More informationApple Inc. US 6,587,904 US 6,618,785 US 6,636,914 US 6,639,918 US 6,718,497 US 6,831,928 US 6,842,805 US 6,865,632 US 6,944,705 US 6,985,981
April 1, 2019 1394 Attachment 1 Page 1 of 7 Apple Inc. US 6,587,904 US 6,618,785 US 6,636,914 US 6,639,918 US 6,718,497 US 6,831,928 US 6,842,805 US 6,865,632 US 6,944,705 US 6,985,981 LG Electronics Inc.
More informationFreedom of Information Act 2000 reference number RFI
P. Norris By email to: xxxxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxxx.xxm 02 November 2011 Dear P. Norris Freedom of Information Act 2000 reference number RFI20111218 Thank you for your request under the Freedom
More informationADVANCED SPREADSHEET APPLICATIONS -PILOT EVENT-
Contestant Number ADVANCED SPREADSHEET APPLICATIONS -PILOT EVENT- Time Rank Regional 2008 TOTAL POINTS (200) Failure to adhere to any of the following rules will result in disqualification: 1. Contestant
More informationJAVA Programming Language Homework II Student ID: Name:
JAVA Programming Language Homework II Student ID: Name: 1. Given the following Java code: 1. class A { 2. public static void main (String[] args) { 3. Byte tmp1 = new Byte( 1 ); 4. Byte tmp2 = new Byte(
More informationArrays. Arrays (8.1) Arrays. One variable that can store a group of values of the same type. Storing a number of related values.
Arrays Chapter 8 page 471 Arrays (8.1) One variable that can store a group of values of the same type Storing a number of related values o all grades for one student o all temperatures for one month o
More informationC++ programavimo kalba
C++ programavimo kalba Standartinė šablonų biblioteka (STL) Duomenų struktūros (11paskaita) Šablonai Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų
More information1 Pointer Concepts. 1.1 Pointer Examples
1 1 Pointer Concepts What are pointers? How are they used? Point to a memory location. Call by reference is based on pointers. Operators: & Address operator * Dereferencing operator Machine/compiler dependencies
More informationLokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas
ISSN 1392-0561. INFORMACIJOS MOKSLAI. 2009 50 Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas Tatjana Jevsikova Matematikos ir informatikos instituto doktorantė Institute
More informationOBJEKTŲ SAVYBIŲ MODELIO GRAFINIS REDAKTORIUS
KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA Saulius Menkevičius OBJEKTŲ SAVYBIŲ MODELIO GRAFINIS REDAKTORIUS Magistro darbas Vadovas doc. dr. B. Paradauskas KAUNAS,
More informationComp 249 Programming Methodology Chapter 8 - Polymorphism
Comp 249 Programming Methodology Chapter 8 - Polymorphism Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia University, Montreal, Canada These slides has been extracted, modified
More informationChapter 5. Inheritance
Chapter 5 Inheritance Objectives Know the difference between Inheritance and aggregation Understand how inheritance is done in Java Learn polymorphism through Method Overriding Learn the keywords : super
More information