Arvutiteaduse instituut
  1. Kursused
  2. 2024/25 sügis
  3. Objektorienteeritud programmeerimine (IT mitteinformaatikutele) (LTAT.SO.003)
EN
Logi sisse

Objektorienteeritud programmeerimine (IT mitteinformaatikutele) 2024/25 sügis

  • Kodutööd ja praktikumid
  • Loengud
  • Kursuse korraldus
  • IDE juhendid
  • Silumisest

IDE juhendid

Downloadi Java SE JDK siit

  1. IntelliJ juhend
  2. Eclipse juhend
  3. Käsurea argumendid
  4. Kasulike hoiatuste lisamine
  5. Kodeering

IntelliJ IDEA sissejuhatus

IntelliJ on JetBrains poolt loodud Java arenduskeskkond, mis muudab koodi kirjutamise oluliselt mugavamaks, kui see lihtsalt Notepadi kasutades oleks. IntelliJ community edition (tasuta) keskendub Java ökosüsteemile, IntelliJ ultimate edition (ut.ee meiliga tudengitele tasuta) lisab võimalused ka veebirakenduste arendamiseks. IntelliJ peamised eelised siin kursusel on:

  • levinud vigade ja probleemide jooksvalt välja toomine (code inspections);
  • muutujate ja funktsioonide nimede automaatne lõpetamine (code completion);
  • kiire ja mugav koodis navigeerumine (leiab kõik meetodi kasutuse kohad, kasutamise kohast definitsiooni juurde hüppamine jne).

IntelliJ võib esmakordsel käivitamisel mõned küsimused esitada. Customize IntelliJ IDEA aknas võib valida Skip All and Set Defaults.

Esimest korda Java projekti luues tuleb IntelliJ'ile ka ette näidata, kuhu Java on installitud. Vajutage Project SDK juures New ja sealt JDK. Windowsi puhul on see tavaliselt C:\Program Files\Java\jdk... ja Linuxi puhul /usr/lib/jvm/jdk...

Projekti loomisel additional libraries ja templates peaks kõik valimata jätma.

Olemasoleva projekti avamiseks valige File-menüüst New, Project from Existing Sources ja avage projekti kaust (see, mille sees on src kaust, mitte src kaust ise). Vajutage Next, kuni IntelliJ import wizard rahule jääb. Erinevate murede korral võib olla mõistlik IntelliJs projekt sulgeda, projekti kaustast .idea kaust ja iml laiendiga projektifail ära kustutada ja projekt uuesti importida.

Hello world (IntelliJ)

  • Käivitage IntelliJ.
  • Looge uus Java projekt File --> New --> Project.
  • Kontrollige, et vasakul oleks lahti Project toolbar. Kui see on puudu, siis vajutage Alt+1 või hoidke hiirt all vasakul oleva ikooni peal ja valige Project.
  • Otsige Project-tööriistaribalt src kaust ja paremklõpsake sellel. Valige New --> Java Class ja määrake uuele klassile nimeks Hello. Uue klassi koodifail peaks avanema.
  • Lisage klassi main meetod ja kirjutage sinna midagi mõistlikku, mis ka midagi ekraanile väljastab:
public class Hello {
  public static void main(String[] args) {
    // uus kood siia
  }
}
  • Käivitage kood paremklõpsates main meetodil ja valides Run Hello.main()
  • Tulemus peaks ilmuma konsooliaknasse.

Eclipse sissejuhatus

Eclipse on vabavaraline arenduskeskkond, mis abistab arendajat koodi (Java, aga ka teiste keelte) kirjutamisel ja vigade otsimisel. See võimaldab programmi käivitada, leida kompileerimisvigu, mugavalt koodis navigeeruda ja koodi efektiivsemalt kirjutada (näiteks iselõpetamise (autocomplete) funktsionaalsus lõpetab meetodi ja muutujanimed). Lisaks on Eclipse-il suur hulk pistikprogramme, mis pakuvad lisafunktsionaalsust versioonihalduse kasutamiseks ja paljuks muuks.

Meie tegutseme Java projektidega. Põhieesmärgiks on algtekstide toimetamine, süntaktiline silumine ja käivitamine. Silumise hõlbustamiseks saab panna katkestuspunkte (breakpoint), mille abil saab jälgida muutujate väärtuste muutumist.

Andmed asuvad töökataloogis (workspace). Sinna peab kasutajal olema õigus kirjutada. Meie puhul sobib selleks nt. alamkataloog oop. Iga projekt paigutub eraldi alamkataloogi, milles siis on erinevad failid.

Püüdkem nüüd Eclipse käivitada

  • Arvutiklassis peaks Eclipse-i ikoon olema töölaual. (Kui pole, siis leidke kataloog, kus on uusim Eclipse.) Sülearvutites peaks Eclipse olema C kettal. Linuxi arvutiklassis Eclipse-i saab kätte kirjutades terminali aknas eclipse (Linuxi-s käsurearežiimi saab Terminaliga (Konsole) Kickoff Application Launcher --> Applications --> System --> Terminal (Konsole)).
  • Töökataloogiks määrake kataloog oop.
  • Tervitusaknad võite sulgeda, aga võite ka neid soovi korral lugeda.
  • Valige Window --> Perspective --> Open Perspective --> Others ...--> Java või ärge valige midagi, sest Java ongi vaikimisi valikus.

Kui soovite töötada juba varem tehtud failidega, siis kasutage importimist File --> Import... --> General --> File system.

Hello world (eclipse)

  • Käivitage Eclipse.
  • Looge uus Java projekt File --> New --> Java Project või File --> New --> Project ... --> Java Project.
  • Pange projektile mõistlik nimi. Esialgu võiks aktsepteerida vaikimisi vastuseid loomisdialoogis.
  • Nüüd peaks Package Explorer aknas olema teie loodud projekt olemas. Kui sellel hiire parema klahviga klõpsata, siis avaneb menüü.
  • Looge uus klass: New --> Class, nimi alaku suurtähega. Klassi loomise dialoogis
    • jätke Package tühjaks,
    • Modifiers olgu public,
    • Superclass olgu java.lang.Object,
    • loodavatest meetoditest märgime ära public static void main(String[] args).
  • Toimetiaknas on nüüd teksti toorik.
  • Kirjutage main-meetodisse midagi mõistlikku, mis ka midagi ekraanile väljastab, ja salvestage.
  • Käivitage Run --> Run või Run --> Run As --> Java Application.
  • Tulemus peaks ilmuma konsooliaknasse.

Käsurea argumendid

Kui Java programm käivitada käsurealt, siis klassinime järel olevaid sõnesid loetakse käsurea argumentideks (command-line arguments, program arguments). Näiteks järgnevas näites on argumentideks "Aasta", "on" ja "2017".

java Peaklass Aasta on 2017 

Argumentide massiivile määratakse nimi peaklassi peameetodi päises (antud juhul args)

public static void main(String[] args) {

Järgnevas vaatleme, kuidas neid argumente saab määrata programmeerimiskeskkondades.

IntelliJ

Enne argumentide määramist on mõistlik programm korra seadistamata käima panna (selle käigus määratakse käivitusseadetes (run configuration) peaklass). Seejärel valige Run-menüüst Edit Configurations. Õige koht on Program arguments.

Eclipse

Kui kasutame Eclipse-it, siis saame käsurea argumente anda valides Run-menüüst Run Configurations... --> (x)=Arguments ja sisestades argumendid kasti Program arguments.

Kasulike hoiatuste lisamine

Toortüübi (Raw type) hoiatus

Geneerilistel tüüpidel on tüübiparameetrid, mis märgitakse noolsulgude (< >) vahele. Kui tüüp on märkimata, siis Java kasutab tüübina java.lang.Object. See on peaaegu alati vale. Isegi kui tahetakse tüübina Object kasutada, oleks hea see eraldi välja kirjutada. Seadistage oma IDE hoiatusi näitama, kui geneeriline tüüp on jäänud määramata!

IntelliJ

Avage File-menüüst Other settings ja sealt Default settings. Muutke Editor -> Inspections aknas Raw use of parametrized class jaoks severity väärtuseks Error (inspection peab olema ka valitud). (Vt. pilt allpool.)

Eclipse

Avag seaded ja lülitage sisse hoiatus (Window => Preferences => Java => Compiler => Errors/Warnings => Annotations => Usage of raw type). Kui määrate selleks seadeks Warning või Error, siis annab IDE märku, kui kusagil tüübid ära on jäänud. (Vt. pilt allpool.)

Annotatsiooni Override kontroll

Arenduskeskkonda on võimalik seadistada hoiatust näitama, kui kuskil on @Override annotatsioon puudu. Annotatsiooni lisamine on väga lihtne ja võib aidata säästa oluliselt aega vigade otsimisel.

IntelliJ

Avage File-menüüst Other settings ja sealt Default settings. Muutke Editor -> Inspections aknas Missing @Override annotation jaoks severity väärtuseks Error (inspection peab olema ka valitud).

Eclipse

Avage seaded ja lülitage sisse hoiatus (Window => Preferences => Java => Compiler => Errors/Warnings => Annotations => Missing '@Override' annotation). Kui määrate selleks seadeks Warning või Error, siis annab IDE märku, kui kusagil annotatsioon on ära unustatud.

Kodeering

IntelliJ (ning tõenäoliselt ka Linux-i ja Mac-i Eclipse) tekitavadki Java failid vaikimisi UTF-8 kodeeringus. Probleemiks on Windowsi Eclipse, mis kasutab vaikimisi süsteemi kodeeringut (mis võib eri arvutites olla erinev).

Eclipse

Õige kodeeringu fikseerimiseks tuleks Eclipse'is nüüd ja edaspidi uue projekti loomisel enne koodi kirjutamist teha projekti nimel paremklõps, valida Properties => Resource ning määrata Text file encoding seade väärtuseks UTF-8. (Kui projektis on juba täpitähtedega faile, siis tuleks need üle vaadata ja kodeeringu muutmisest tekkinud krõnksud ära parandada.)

Kuna projekti kodeeringu määramine võib mõnikord ära ununeda, siis lisaks (või selle asemel) on soovitatav määrata ka Eclipse'i töökataloogis (workspace) vaikekodeering (Window => Preferences => General => Workspace). Paraku võib selle tulemusena saada palju krõnkse juba varem loodud Java failidesse. Lahendus on fikseerida enne töökataloogi seade muutmist olemasolevate projektide kodeeringud nii nagu nad vaikimisi on (nt. Cp1257). Töökataloogi seade rakendub vaid neile projektidele, millel pole kodeeringut fikseeritud.

IntelliJ

IntelliJ näitab avatud faili kodeeringut all paremal nurgas. Seal peaks olema Java failide puhul UTF-8. Kodeeringu nimele klõpsates saab avatud faili kodeeringut muuta. Vaikimisi kodeeringu muutmiseks võtke File-menüüst Other settings ja sealt Default settings. Valige Editor -> File Encodings ja muutke kõik UTF-8 peale.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused