Objektorienteeritud programmeerimine

Seotud dokumendid
loeng2

PowerPointi esitlus

(loeng3-ohtlikud_koodiloigud)

Funktsionaalne Programmeerimine

Print\A4\RaceLandscape.pmt

PowerPointi esitlus

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

Andmeturve

KASUTUSJUHEND

Microsoft PowerPoint - loeng.ppt

GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev Versioon

Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk

PHP

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

Algoritmid ja andmestruktuurid

6

Komisjoni delegeeritud määrus (EL) nr 862/2012, 4. juuni 2012, millega muudetakse määrust (EÜ) nr 809/2004 seoses teabega nõusoleku kohta prospekti ka

10/12/2018 Riigieksamite statistika 2017 Riigieksamite statistika 2017 Selgitused N - eksaminandide arv; Keskmine - tulemuste aritmeetiline keskmine (

Tartu Ülikool

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

Väärtusta oma vabadust. Eesti Yale Seifide Kasutusjuhend Mudelid: YSB/200/EB1 YSB/250/EB1 YSB/400/EB1 YLB/200/EB1 YSM/250/EG1 YSM/400/EG1 YSM/520/EG1

Microsoft Word - Vx610 EMV KASUTUSJUHEND.doc

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

Advanced AspectJ ja AspectJ 5.0 Aleksei Bogdanov 05. aprill 2006

MAKSETERMINALI KASUTUSJUHEND

HAJUSSÜSTEEMID HAJUSSÜSTEEMID SOAP ja veebiteenused Web Services Web Services SOAP WSDL Ühilduvus UDDI Kihiline arhitektuur masinsuhtluse jaoks erinev

Microsoft PowerPoint - TÜ TVT - Kavandamine ja arhitektuur 2.ppt

Andmeturve

Microsoft Word - TallinnLV_lihtsustatud_manual_asutuse_juhataja_ doc

Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust Kaupmees teeb päringu Pocopayle aadressile

KUULA & KORDA INGLISE KEEL 1

Markina

6

Print\A4\RaceLandscape.pmt

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode])

Microsoft Word - requirements.doc

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Tuhat tudengit ja sada seltsi välismaal ees2 keelt õppimas Katrin Maiste

Microsoft PowerPoint - Tartu_seminar_2008_1 [Read-Only]

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

ACU ACU ACU ACU ACU ACU ACU ACU ACU ACU ACU ACU ACU ACU ACU

Scala ülevaade 1 Meetodid, muutujad ja väärtused. Süntaks 2 Lihtsad tüübid ja väärtused. 3 OOP, case-klassid ja mustrisobitus. 4 Puhta Scala väärtusta

Mälumäng Vol 3.

Funktsionaalne Programmeerimine

Bild 1

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx

Microsoft Word - Errata_Andmebaaside_projekteerimine_2013_06

KOOLIEKSAM AJALUGU Ajaloo koolieksam on kirjalik töö, mis annab maksimaalselt 100 punkti ning kestab 3 tundi ( 180 minutit ). Eksamil on võimalik kasu

5_Aune_Past

untitled

PowerPoint Presentation

BIM360 ja RealityCapture

Skriptimiskeeli, mida ei käsitletud Perl Python Visual Basic Script Edition (VBScript) MS DOS/cmd skriptid Windows PowerShell midagi eksootilisemat: G

Süsteemiintegratsioon

MTAT Operatsioonisüsteemid - Turvalisus

Microsoft Word - EVS_898;2014_et.doc

ДЕЛОВОЕ ОБЩЕНИЕ

Euroopa Liidu tulevik aastal 2013 Euroopa Liidu tulevikust räägitakse kõikjal ja palju, on tekkinud palju küsimusi ning levib igasugust valeinfot, mis

Elisa Ring Elisa Ringi mobiilirakendus Versioon

X Window System tuntud kui: X11 X X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesugus

PowerPointi esitlus

Andmed arvuti mälus Bitid ja baidid

loeng7.key

pbmwd1ee

Juhend Merit Aktivas korteriühistu erilahenduse kasutamiseks Merit Aktiva Pro ja Premium pakettides on olemas erilahendus korteriühistutele. Seda saab

B120_10 estonian.cdr

Mascus - Jatiina esitlus 2017

Eesti Ettevõtluskõrgkool Mainor rakenduskõrghariduse õppekava ROBOOTIKATARKVARA ARENDUS Õppekava nimetus Õppekava nimetus inglise keeles Kõrgharidusta

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

Esitatud a. 1 PROJEKTEERIMISTINGIMUSTE TAOTLUS DETAILPLANEERINGU OLEMASOLUL 1. Füüsilisest isikust taotluse esitaja 2 eesnimi perekonnanim

Microsoft Word - EasyFit Touch_ET

Pealkiri

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Mirjam Iher Nõrgima eeltingimuse staatiline analüüs pinukeeltele Bakalaureusetöö (9 EAP) J

Pealkiri / Headline

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

efo09v2pke.dvi

raja pikkus 166,00 Tallinn kiirus 3,50 kohtunik: Marianne Fernström (SWE) ideaalaeg 48,00 V8 Agilityrada AG3 max.aeg 96,00 MINI koerajuht k

Microsoft PowerPoint - Lisa 5 koolituse materjalid

AWK Aho Weinberger Kernighan struktuurse teksti töötlemise keel rikkalikult tekstitöötlusvahendeid omal alal suhteliselt lihtne ja kiiresti realiseeri

Piima ja tooraine pakkumise tulevik kogu maailmas Erilise fookusega rasvadel ja proteiinidel Christophe Lafougere, CEO Gira Rakvere, 3rd of October 20

1 Keskkonnamõju analüüs Räätsa TP-702 Koostajad Koostamise aeg metsaparandusspetsialist Jüri Koort bioloogilise mitmekesisuse spetsialist T

CPA4164 USB 2.0 kõrgekvaliteediline videoadapter KASUTUSJUHEND 1. PEATÜKK - Ülevaade 1.1 Tutvustus CPA4164 USB 2.0 videoadapter võimaldab teil arvutis

Müük (Microsoft Dynamics AX (Axapta) tarkvara) Paigaldusjuhend bifree.ee qlik.com

Linux süsteemi administreerimine

Programmeerimiskeel APL Raivo Laanemets 17. mai a.

PowerPointi esitlus

IFI6083_Algoritmid_ja_andmestruktuurid_IF_3

my_lauluema

Print\A4\RaceLandscape.pmt

ERASMUS+ PROJECT, KA219 Autistic child in a mainstream class: resources for school staff to promote fully inclusive learning process ACIMC:RFSSTEFLPAI

A Peet Üldiseid fakte diabeedi tekkemehhanismide kohta \(sealhulgas lühiülevaade

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs

Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joo

Väljavõte:

Objektorienteeritud programmeerimine Internatsionaliseerimine Marina Lepp

Internatsionaliseerimine Internationalization i18n Rakenduste projekteerimine selliselt, et seda saab kohandada (lokaliseerida) erinevatele keeltele ja piirkondadele muutmata rakenduse arhitektuuri Lokaliseerimisel lisatakse piirkonnaspetsiifilised komponendid (nt. tõlgitud tekst, andmete piirkonnaspetsiifiline esitus, töötlus jne. ) Localization l10n https://docs.oracle.com/javase/tutorial/i18n/index.html 2

Erinevad stiilid Kuupäev (nt. 13/05/2019, 2019/05/13, 13.05.2019, 2019-05-13) Kellaaeg Arvud (10,000) Valuuta (nt. $,,,, SEK) Mõõtühikud (nt. pikkus, mass, ruumala, temperatuur, ) Telefoninumbrid Postiaadressid Sõnumid Märgised kasutajaliidese komponentidel 3

i18n Tekstielemendid, nt. seisundisõnumid ja GUI komponentide sildid ei tohi olla programmi otse sisse kirjutatud (hardcoded). Nad peavad olema väljaspool lähtekoodi ja dünaamiliselt kättesaadavad Uue keele toetamine ei tohi nõuda koodi kompileerimist Teised kultuurist sõltuvad andmed, nt kuupäevad näidatakse lõppkasutaja piirkonna formaadis 4

Javas klass Locale lo.kaat <22e: -kaadi, -kaati> kultuurispetsiifiliste elementide kogum keel ISO 639 http://www.loc.gov/standards/iso639-2/php/english_list.php skript ISO 15924 http://unicode.org/iso15924/iso15924-codes.html riik (regioon) ISO 3166 http://en.wikipedia.org/wiki/iso_3166-1_alpha-2 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/locale.html 5

Millises piirkonnas räägitakse keelt, mille kahetäheline ISO 639 kood on ee? 1. Kagu-Aasias 2. Kesk-Ameerikas 3. Lääne-Aafrikas 4. Põhja-Euroopas 6

Lokaat System.out.println(Locale.getDefault()); et_ee keel ja riik Locale lo = new Locale("et", "EE"); System.out.println(lo.getDisplayCountry()); System.out.println(lo.getDisplayLanguage()); System.out.println(lo.getDisplayName()); Eesti eesti eesti (Eesti) 7

Lokaat System.out.println( Locale.GERMANY.getDisplayCountry(Locale.FRANCE)); Allemagne Locale[] availablelocales = Locale.getAvailableLocales(); 8

Lokaaditundlik locale-sensitive kuupäeva, arvu formaatimine lokaaditundlikud objektid klass ResourceBundle https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/resourcebundle.html 9

Veel mitte i18n System.out.println("Tere!"); System.out.println("Kuidas läheb?"); System.out.println("Head aega!"); 10

import java.util.locale; import java.util.resourcebundle; public class JubaI18n { static public void main(string[] args) { String keel; String maa; if (args.length!= 2) { keel = new String("et"); maa = new String("EE"); else { keel = new String(args[0]); maa = new String(args[1]); Hallo. Wie geht's? Tschüß. Locale currentlocale = new Locale(keel, maa); ResourceBundle teated = ResourceBundle.getBundle( "Teated", currentlocale); System.out.println(teated.getString("tervitus")); System.out.println(teated.getString("huvi")); System.out.println(teated.getString("lahkumine")); 11

Teated_et_EE.properties tervitus = Tere! lahkumine = Head aega! huvi = Kuidas läheb? Teated_fr_FR.properties tervitus = Bonjour. lahkumine = Au revoir. huvi = Comment allez-vous? Teated_de_DE.properties tervitus = Hallo. lahkumine = Tschüß. huvi = Wie geht's? 12

Liitsõnum Liitsõnum võib sisaldada erinevaid muutujaid, nt. kuupäev, kellaaeg, valuuta, protsent jne Pühapäeval, 26.05.19 kell 10:15 algab 38. Tartu Rattaralli. 13

import java.util.*; import java.text.*; public class Liitsõnum { static void displaymessage(locale currentlocale) { System.out.println("Lokaat = " + currentlocale.tostring()); ResourceBundle messages = ResourceBundle.getBundle( "Rall",currentLocale); GregorianCalendar gc = new GregorianCalendar(2019, 4, 26, 10, 15); Object[] messagearguments = { messages.getstring("day"), 38, new Date(gc.getTimeInMillis()) ; MessageFormat formatter = new MessageFormat(""); formatter.setlocale(currentlocale); formatter.applypattern(messages.getstring("template")); String output = formatter.format(messagearguments); System.out.println(output); Lokaat = et_ee public Pühapäeval, static 26.05.19 void main(string[] kell 10:15 algab args) 38. { Tartu Rattaralli. Lokaat displaymessage(new = en_us Locale("et", "EE")); On displaymessage(new Sunday May 26, 2019 Locale("en", at 10:15 AM "US")); the Tartu 38th Bicycle Rally will start. 14

Rall_et_EE.properties template = {0, {2,date,short kell {2,time,short algab {1,number,integer. Tartu Rattaralli. day = Pühapäeval Rall_en_US.properties template = On {0 {2,date,long at {2,time,short the Tartu {1,number,integerth Bicycle Rally will start. day = Sunday 15

import java.util.*; import java.text.*; public class ArvuFormaat { static void reformat(double num, String[] locales) { for (String loc : locales) { Locale pl = Locale.forLanguageTag(loc.replace("_","-")); NumberFormat fmt = NumberFormat.getInstance(pl); System.out.print(fmt.format(num)); System.out.println("\t" + pl.getdisplayname()); public static void main(string[] args) { String [] locales = {"et_ee", "de_de", "fr_fr", "en_us", "ru_ru", "ee_et"; reformat(12345.6789, locales); Arvuformaat 12 345.679 eesti (Eesti) 12.345,679 saksa (Saksamaa) 12 345,679 prantsuse (Prantsusmaa) 12,345.679 inglise (Ameerika Ühendriigid) 12 345,679 vene (Venemaa) 12,345.679 eve (Etioopia) 16

Mis ilmub ekraanile? Locale lo = new Locale("ee", "ET"); System.out.println(lo.getDisplayName()); 1. eesti (Eesti) 2. eve (Etioopia) 3. midagi muud 17

Milline on eestipärane formaat? a. 12 345,679 b. 12.345,679 c. 12,345.679 18

Suur tänu vaatamast ja kohtumiseni! 19