Microsoft PowerPoint - Objekti_gradnja.ppt

Podobni dokumenti
Microsoft Word - M _mod..docx

Microsoft Word - M docx

Microsoft PowerPoint - Java_spremenljivke

Diapozitiv 1

Diapozitiv 1

Objektno usmerjeno programiranje

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Microsoft PowerPoint - Java-rekurzija.ppt

6.1 Uvod 6 Igra Chomp Marko Repše, Chomp je nepristranska igra dveh igralcev s popolno informacijo na dvo (ali vec) dimenzionalnem prostoru

RAČUNALNIŠKI PRAKTIKUM d o c. d r. A N D R E J T A R A N E N K O Kdo bo z vami? Predavatelj: dr. Andrej Taranenko

Microsoft Word - N _moderacija.docx

Gregor Rabič, janja čeh Ploščina štirikotnika Vsebina dokumenta je avtorsko zaščitena. Gradivo je v dani obliki dostopno brezplačno in povsem in brez

Predtest iz za 1. kontrolno nalogo- 2K Teme za kontrolno nalogo: Podobni trikotniki. Izreki v pravokotnem trikotniku. Kotne funkcije poljubnega kota.

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

VAJE

Strojna oprema

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet APJ Vsako izpitno vprašanje je sestavljeno iz posameznih delov, od katerih je vsak del

SESTAVA VSEBINE MATEMATIKE V 6

1 Načrtovanje programskih aplikacij NPA 2.del Srečo Uranič Učno gradivo je nastalo v okviru projekta Munus 2. Njegovo izdajo je omogočilo sofinanciran

Strokovni izobraževalni center Ljubljana, Srednja poklicna in strokovna šola Bežigrad PRIPRAVE NA PISNI DEL IZPITA IZ MATEMATIKE 2. letnik nižjega pok

TNUV Lab

Geometrija v nacionalnih preverjanjih znanja

MATEMATIKA Zbirka nalog za nacionalno preverjanje znanja Jana Draksler in Marjana Robič 9+ znam za več

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Bilten 13. državnega srednješolskega tekmovanja ACM v znanju računalništva, 2018

Datum in kraj

Excel 2016

TLAK PLOŠČINA 1. Zapiši oznako in enoto za ploščino. 2. Zapiši pretvornik pri ploščini in po velikosti zapiši enote od mm 2 do km Nariši skico z

KAKO VELIKA SO ŠTEVILA

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

ANALITIČNA GEOMETRIJA V RAVNINI

Vaja04_Ver02

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

TNUV Lab5

Microsoft Word - UP_Lekcija04_2014.docx

ACAD-BAU-Analiza-prostorov

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

MAGNETNE PALICE Set lesenih magnetnih palic za kreativno sestavljanje. V setu je 40 kosev KLEIN 0656 MAGNETICO KOCKE Set vsebuje ploščo, vozila

Vgrajeni sistemi Uvod & ponovitev C

11. srednješolsko tekmovanje ACM v znanju računalništva Šolsko tekmovanje 22. januarja 2016 NASVETI ZA TEKMOVALCE Naloge na tem šolskem tekmovanju pok

Microsoft Word - PRO1_2_Java_2015_12_22

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

resitve.dvi

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Andraž Drčar Prevajanje javanskih programov z vstavljeno zložno kodo DIPLOMSKO DELO UNI

Microsoft Word - Seštevamo stotice.doc

7. VAJA A. ENAČBA ZBIRALNE LEČE

Smc 8.indd

Microsoft PowerPoint - 9_Xella.pptx

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft Word - N doc

Microsoft Word - CelotniPraktikum_2011_verZaTisk.doc

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

2.1 Osnovni pojmi 2 Nim Ga²per Ko²mrlj, Denicija 2.1 P-poloºaj je poloºaj, ki je izgubljen za igralca na potezi. N- poloºaj je poloºaj, ki

Delavnica Načrtovanje digitalnih vezij

Matematika Uporaba integrala (1) Izračunaj ploščine likov pod grafi danih funkcij: (a) f(x) = x 2 na [0, 2], (b) f(x) = e x na [0, 1], (c) f(x) = x si

VAJE

Layout 1

Poslovilno predavanje

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Microsoft Word - N doc

Uradni list RS - 12(71)/2005, Mednarodne pogodbe

glava.dvi

COBISS3/Medknjižnična izposoja

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

FGG13

LaTeX slides

9razred.xls

1 Diskretni naklju ni vektorji 1 1 Diskretni naklju ni vektorji 1. Dopolni tabelo tako, da bosta X in Y neodvisni. X Y x x x x x

Verjetnost in vzorčenje: teoretske porazdelitve standardne napake ocenjevanje parametrov as. dr. Nino RODE prof. dr. Blaž MESEC

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Miha Anžiček UREJEVALNIK JAVANSKE KODE DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDI

Microsoft PowerPoint - OAPS1- P12.ppt

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Modem in krajevno omrežje Uporabniški priročnik

Ime in priimek

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

Priloga II Modul A: Izjava o skladnosti na podlagi notranje kontrole proizvodnje 1. Izjava o skladnosti na podlagi notranje kontrole proizvodnje je po

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po

SPLOŠNI POGOJI SODELOVANJA IN PRAVILA NAGRADNE IGRE»S PRINGLESOM DO EUR«Uvodne določbe 1. člen S temi splošnimi pogoji so urejena pravila sodelo

VST: 1. kviz

Watch 40_MT40X_UM_SL.pdf

LaTeX slides

Microsoft Word - NAVODILA ZA UPORABO.docx

Microsoft Word - vaje2_ora.doc

Microsoft Word - NOVA DELOVNA OBLEKA - KAPA_KONCNI-3.doc

resitve.dvi

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

Nasveti za 1. in 2. skupino 1 8. tekmovanje ACM v znanju računalništva za srednješolce 23. marca 2013 NASVETI ZA 1. IN 2. SKUPINO Nekatere naloge so t

OPOMNIK

PPT

11/21/2017 SQL-ODBC Povezava do podatkovne baze modul pyodbc povezovalni niz (eksplicitno, ali z uporabo DSN) In [6]: import pyodbc from future import

DEDOVANJE BARVNE SLEPOTE

Navodila Trgovina iCenter

12. tekmovanje ACM v znanju računalništva Institut Jožef Stefan, Ljubljana, 25. marca 2017 Bilten

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

Transkripcija:

Naredimo razred Katera so stanja/lastnosti Kaj hočemo o objektih te vrste vedeti Kakšne lastnosti imajo Katere so metode Kakšno je znanje objektov Na katere ukaze se odzovejo Način predstavitve lastnosti objekta (podatke o objektu) skrijemo private enkapsulacija Okostje razreda public class Razred { // deklaracija lastnosti - komponent - polj -... // konstruktorji // metode // tostring Razredi in objekti Sestavimo razred Kovanec, s katerim predstavimo kovance. Denimo, da so kovanci okrogli, z danim polmerom in višino. Poleg konstruktorjev in standardnih metod, ki nastavijo in vrnejo vrednosti lastnosti in za pretvorbo v niz, naj razred pozna še metodi, ki vrneta površino in volumen kovanca. 1

Kovanec public class Kovanec { private int polmer; private int visina; // konstruktorji public Kovanec() { public Kovanec(int r, int v) { // "SET" metode public void nastavipolmer(int r) { public void nastavivisino(int visina) { le navedba metod // "GET" metode public int povejpolmer() { public int povejvisino() { // tostring public String tostring() { // kako je objekt videti kot niz // "znanje" public double volumen() { public double povrsina() { Kovanec public class Kovanec { private int polmer; private int visina; // konstruktorji // metode public void nastavipolmer(int r) { polmer = r; le skica public void nastavivisino(int visina) { zares: Kovanec.java // smiselna visina je le med 1 in 100 // drugace jo pustimo pri miru if ((visina <= 100) && (visina >= 1)) this.visina = visina; public int povejpolmer() { return polmer; public int povejvisino() { return visina; public String to String() { return r = + this.povejpolmer() + \nvisina = + this.povejvisino(); Uporaba Državna kovnica te najame, da napišeš program, ki reši naslednji problem Ali lahko iz bakrenega kvadra velikosti 20 x 12 x 30 naredimo n "običajnih" kovancev? interpretacija odgovorov (DA/NE) ne: nikakor to ne gre da: mogoče, ni pa nujno new Kovanec() ustvari nov, običajni kovanec. 2

Kovanci public static Drzava { public static void main(string[] a) { int kvader_x = 20; int kvader_y = 12; int kvader_z = 30; int volumenkvadra = kvader_x * kvader_y * kvader_z; int n = Integer.parseInt(a[0]); Kovanec en = new Kovanec(); int volkovanca = en.volumen(); if (volumenkvadra > n * volkovanca) System.out.println( DA ); else System.out.println( NE ); Uporaba Državni zakladnik spremeni dimenzije "običajnih" kovancev. Je potrebno spremeniti tvoj program? Kje so potrebne spremembe? Razred Kvader Geometrijsko telo Podatki Komponente opisujejo stanje objekta Metode Konstruktorji (posebne metode) Kaj se zgodi ob new znanje objektov tega razreda volumen, površina,... Metode za ravnanje s podatki Nastavi podatek Vrni podatek tostring Komponente : stranice Metode: konstruktorji volumen povrsina stranicaa stranicab stranicac kolikoa 3

Kvader - podatki Podatki: Stranice: a, b, c Odločitev o načinu predstavitve Kako bo imel objekt predstavljene stranice Ena od možnosti: 3x spremenljivka tipa int Druga možnost Tabela s tremi polji Tretja možnost:. private int a; // stranica a Zakaj enkapsulacija? Način predstavitve uporabnika NE zanima s private mu preprečimo dostop Kako potem do podatkov: Pripravimo ustrezne metode Če se podpisi metod ne spreminjajo ni težav s spreminjanjem razreda Vsi programi, ki uporabljajo objekte določenega razreda, si podatke izmenjujejo le preko metod Če se klic ne bo spremenil, je vseeno, kako je spremenjen razred! Kvader metode za delo s podatki Za podatke za katere je smiselno, da jih uporabnik vidi: Metode, ki povejo vrednost podatka poveja(), Za podatke za katere je smiselno, da jih uporabnik spremeni: Metode, ki spremenijo vrednost podatka Možnost kontrole stranicaa(), 4

Kvader - konstruktorji Standardno konstruktor brez parametrov Naredi privzeti objekt Denimo kvader s stranicami 1 x 1 x 1 public Kvader(){ a = 1; b = 1; c = 1; Kaj pa, če bi uporabniku radi ponudili več možnosti začetnega kvadra? Kvader.java Kvader.java (oglejmo si komentarje!) Konstruktor, ki naredi kocko Konstruktor, kjer podamo stranice Konstruktor, ki naredi kopijo objekta Preobtežene metode Tudi navadne metode (ne le konstruktorji) so lahko preobtežene Možnost, da imamo enako poimenovano metodo, ki pa sprejema parametre različnega tipa Metoda ploscina, ki kot parameter dobi objekt iz razreda Kvadrat, Krog ali Pravokotnik Uporaba: ploscina(bla), kjer je bla lahko objekt tipa Kvadrat, Krog ali Pravokotnik Tri metode, z enakim imenom, a različnimi podpisi Enostavnejša uporaba kot tri metode z različnimi imeni ali ena metoda, kjer preverimo, kakšen objekt smo dobili Enostavneje, če dobimo še četrti tip objekta v glavno kodo ni potrebno posegati naredimo novo metodo z istim imenom (ploscina) in s parametrom katerega tip je novi objekt Klic je še vedno ploscina(bla)! 5

Primeri preobteženih metod Math.abs(x) Uporabimo lahko na tipu double in na tipu int Dve metodi! Math.java tostring Metoda, ki se uporabi avtomatično, če moramo objekt spremeniti v niz Vedno obstaja (dedovanje), a verjetno nekoristna Zato običajno sestavljamo sami public String tostring() { return Kovanec# r: + polmer + h: + visina); Ustvarjanje razredov: povzetek Konkretni objekt je primerek nekega razreda Nastane z new Izjema: String Ni izjema, le drugačen zapis! Podobno tabele z inicializacijo Posamične lastnosti objekta Dostop: private Uporabnika ne zanima način hranjenja lastnosti objekta Metode za delo s podatki/lastnosti vrnipodatek, nastavipodatek Konstruktorji Kaj se zgodi ob kreaciji novega podatka 6

Povzetek Komponente (lastnosti) imajo dostop private konstruktorji metode, s katerimi nastavljamo vrednost (set) preverjanje pravilnosti (stanje objekta mora biti ves čas pravilno) pozor pri konstruktorjih metode, s katerimi vračamo vrednost (get) tostring ostale metode Ustvarjanje razredov: povzetek tostring Da objekt pretvorimo v niz Za predstavitev objekta Metode Namenjene uporabnikom: public interne (pomožne) metode: private Več metod z enakim imenom Preobteževanje (overloading) 7