public static void main (String [] args)

Samankaltaiset tiedostot
Olio-ohjelmointi Javalla

Periytyminen (inheritance)

YHTEYSSUHDE (assosiation)

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Metodien tekeminen Javalla

Lista luokan sisällä

Listarakenne (ArrayList-luokka)

Rajapinta (interface)

Mikä yhteyssuhde on?

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

Poikkeustenkäsittely

Luokan muodostimet (Constructors)

Vahva koostumussuhde (Composition)

Taulukoiden käsittely Javalla

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Luokan sisällä on lista

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

KOHDELUOKAN MÄÄRITTELY

Metodien tekeminen Javalla

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Ehto- ja toistolauseet

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Java-kielen perusteita

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Java-kielen perusteita

1 Tehtävän kuvaus ja analysointi

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

Oliot viestivät metodeja kutsuen

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Standardi- ja tietorakenneluokkia

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Tietokannat II -kurssin harjoitustyö

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

14. Poikkeukset 14.1

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Mitä poikkeuskäsittely tarkoittaa?

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Javan GUI Scratchaajalle

19. Olio-ohjelmointia Javalla 19.1

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Ohjelmoinnin perusteet, kurssikoe

8. Näppäimistöltä lukeminen 8.1

Ohjelmistotekniikan menetelmät, koe

14. Poikkeukset 14.1

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Javan perusteita. Janne Käki

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

9. Periytyminen Javassa 9.1

Ohjelmointityö 3. Mikko Laamanen

1. Omat operaatiot 1.1

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Ohjelmointi 2 / 2010 Välikoe / 26.3

Luokat ja oliot. Ville Sundberg

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Ohjelmoinnin jatkokurssi, kurssikoe

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

Luokkakirjastot. esiintymämetodien käytöstä:

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

12. Näppäimistöltä lukeminen 12.1

8. Näppäimistöltä lukeminen 8.1

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

UML ja luokkien väliset suhteet

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Java-kielen perusteita

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

4. Luokan testaus ja käyttö olion kautta 4.1

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

9. Periytyminen Javassa 9.1

Java-kielen perusteet

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Ohjelmointi 2 / 2011 Välikoe / 25.3

Ohjelmointi 2, välikoe

11. Javan valintarakenteet 11.1

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

2. Olio-ohjelmoinista lyhyesti 2.1

Oliosuunnittelu ja luokkakohtaiset komponentit

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

4. Olio-ohjelmoinista lyhyesti 4.1

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Olio-ohjelmointi Virhetilanteiden käsittely

16. Javan omat luokat 16.1

3. Binääripuu, Java-toteutus

Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2

Java-kielen perusteet

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2007

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Olio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin

Transkriptio:

HAAGA-HELIA OHJELMOINTI 1(5) OHJELMALUOKKA Ohjelma-luokan käynnistää public static void main (String [] args) main-metodiin voi koodata 1. ohjelman logiikan tai 2. luoda ohjelma-olion ja kutsua metodia, johon on koodattu ohjelman logiikka Ohjelman logiikka mainissa: Jos main-metodissa ei luoda ohjelma-luokkaa, kaikki ohjelman metodit ovat luokkametodeita eli staattisia metodeita. Kaikki ohjelman attribuutit ovat myös luokka-attribuutteja eli staattisia attribuutteja Jos main-metodissa luodaan ohjelma-luokka, ohjelman metodit voivat olla oliometodeita tai luokkametodeita Ohjelman attribuutit voivat olla olioattribuutteja tai luokkaattribuutteja

HAAGA-HELIA OHJELMOINTI 2(5) Esim., jossa main-metodissa on logiikka ja kaikki attribuutit ja metodit ovat luokkakohtaisia: public class TiliSovellus { private static Tili tili = null; private static Scanner input =null; public static void main(string[] args) { int valinta = -1; input = new Scanner(System.in); // Luodaan aluksi tili teetili(); do { System.out.println("\n1. Otto"); System.out.println("2. Pano"); System.out.println("3. Tilin tiedot"); System.out.println("4. Näytä korko"); System.out.println("5. Muuta korko"); System.out.println("0. Lopetus"); System.out.print("Anna valintasi (0-5): "); valinta = input.nextint(); switch (valinta) { case 1: teeotto(); case 2: teepano(); case 3: naytatili(); case 4: naytakorko(); case 5: muutakorko(); case 0: default: System.out.println("Virheellinen valinta"); while (valinta!= 0);

HAAGA-HELIA OHJELMOINTI 3(5) // Metodia käytetään tilin tekemiseen private static void teetili() { System.out.print("Anna tilinnumero: "); String numero = input.nextline(); System.out.print("Anna alkusaldo: "); double saldo = input.nextdouble(); // Käytetään Tili-luokan parametrillisella konstruktorilla tili = new Tili(numero, saldo); private static void teeotto() { System.out.print("Oton määrä: "); if (tili.otto(maara)) { System.out.println("Tilin saldo oton jälkeen " + else { System.out.println("Tilillä ei ole katetta"); private static void teepano() { System.out.print("Panon määrä: "); tili.pano(maara); System.out.println("Tilin saldo panon jälkeen " + private static void naytatili() { // Näytetään tiedot Tili-luokan get-metodeilla System.out.println("Tilinumero: " + tili.getnumero()); System.out.println("Saldo: " + private static void naytakorko() { System.out.println("Korkoprosentti on " + Tili.getKorkoprosentti()); private static void muutakorko() { System.out.print("Uusi korkoprosentti: "); double korkoprosentti = input.nextdouble(); // Tili, koska setkorkoprosentti on staattinen metodi Tili.setKorkoprosentti(korkoprosentti);

HAAGA-HELIA OHJELMOINTI 4(5) Esim., jossa main-metodissa luodaan ohjelmaolio ja kutsutaan sen metodia, johon on koodattu ohjelman logiikka: import java.util.scanner; public class TiliSovellus2 { private Tili tili ; private Scanner input ; public TiliSovellus2() { // oletusmuodostin input = new Scanner(System.in); tili =teetili(); public static void main(string [] args){ TiliSovellus2 ohj = new TiliSovellus2(); ohj.aja(); public void aja() { int valinta = -1; do { System.out.println("\n1. Otto"); System.out.println("2. Pano"); System.out.println("3. Tilin tiedot"); System.out.println("4. Näytä korko"); System.out.println("5. Muuta korko"); System.out.println("0. Lopetus"); System.out.print("Anna valintasi (0-5): "); valinta = input.nextint(); switch (valinta) { case 1: teeotto(); case 2: teepano(); case 3: naytatili(); case 4: naytakorko(); case 5: muutakorko(); case 0: default: while (valinta!= 0); System.out.println("Virheellinen valinta");

HAAGA-HELIA OHJELMOINTI 5(5) // Metodia käytetään tilin tekemiseen private Tili teetili() { System.out.print("Anna tilinnumero: "); String numero = input.nextline(); System.out.print("Anna alkusaldo: "); double saldo = input.nextdouble(); // luodaan Tili-olio käyttäen parametrillista muodostinta Tili tili = new Tili(numero, saldo); return tili; private void teeotto() { System.out.print("Oton määrä: "); if (tili.otto(maara)) { System.out.println("Tilin saldo oton jälkeen " + else { System.out.println("Tilillä ei ole katetta"); private void teepano() { System.out.print("Panon määrä: "); tili.pano(maara); System.out.println("Tilin saldo panon jälkeen " + private void naytatili() { // Näytetään tiedot Tili-luokan get-metodeilla System.out.println("Tilinumero: " + tili.getnumero()); System.out.println("Saldo: " + private void naytakorko() { System.out.println("Korkoprosentti on " + Tili.getKorkoprosentti());