ict1td002: Ohjelmointitaito Kertaus Osio 2 - luokat - ilmentymät - viittaus- ja arvomuuttuja - ilmentymien taulukointi HAAGA-HELIA IltaTiko
HAAGA-HELIA IltaTiko • Luokka määrittelee, millaisesta oliosta on kyse • Luokassa kuvataan olion ominaisuudet ja käyttäytyminen • Olio on luokan ilmentymä • Olion ominaisuus = muuttuja • Olion käyttäytyminen = metodi
HAAGA-HELIA IltaTiko public class Auto{ private String merkki; private String malli; private int mittarilukema; } Esimerkki: Auto-luokan ominaisuudet
HAAGA-HELIA IltaTiko Luokan ilmentymän (olion, objektin) luominen •Olio luodaan käyttämällä varattua sanaa new new Auto(); •Olioita käsitellään viitemuuttujista: Auto annenAuto = new Auto(); •Viite olioon määritellään kuin muuttuja, mutta tyyppi on luokan tyyppi
HAAGA-HELIA IltaTiko Luokan ilmentymän luominen muodostimet •Oletusmuodostin mitä tulee olion String tietoihin? entä numeerisiin tietoihin? •Parametrillinen muodostin/muodostimet •Kopiointimuodostin
HAAGA-HELIA IltaTiko Luokan ilmentymän luominen muodostimet •Muodostin on AINA samanniminen kuin luokka •tyyppi public •Muodostimella ei ole paluuarvoa, vaan sen tehtävänä on luoda luokan ilmentymä
HAAGA-HELIA IltaTiko Ilmentymän muuttujatyyppi Ilmentymät ovat viittaustyyppisiä: viitemuuttuja ja ilmentymä viitemuuttuja Ford Ka
HAAGA-HELIA IltaTiko Viittaustyyppinen ja arvotyyppinen muuttuja int i = 150; int b = 200; i = b; i b i b
HAAGA-HELIA IltaTiko Viittaustyyppinen ja arvotyyppinen muuttuja annenAuto Ford Ka Auto annenAuto = new Auto(”Ford”, ”Ka”, ); uusiAuto Volvo C30 0 Auto uusiAuto = new Auto(”Volvo”, ”C30”, 0);
HAAGA-HELIA IltaTiko Viittaustyyppinen ja arvotyyppinen muuttuja annenAuto Ford Ka ? annenAuto = uusiAuto; uusiAuto Volvo C30 0
HAAGA-HELIA IltaTiko Luokan käyttäytyminen - metodit •get-metodit •set-metodit •toString •lisäksi muita
HAAGA-HELIA IltaTiko Luokka-attribuutit ja ilmentymäattribuutit Ilmentymäattribuutti: public String tiliNumero; Luokka-attribuutti public static double korko; Huomaa: poikkeuksellisesti esimerkin vuoksi attribuutit public-tyyppisiä
HAAGA-HELIA IltaTiko Luokka-attribuutit ja ilmentymäattribuutit Viitataan ilmentymäattribuuttiin: ilmentymänimi.attribuuttinimi tili.tiliNumero Viitataan luokka-attribuuttiin: Luokkanimi.attribuuttinimi Tili.korko
HAAGA-HELIA IltaTiko Ilmentymien taulukointi •Taulukon tyypiksi tulee luokka •Taulukon alkioihin voi tallettaa vain ko.luokan ilmentymiä •Ilmentymiin viitataan taulukon indeksillä •Luokan metodit toimivat normaalisti ilmentymien yhteydessä
HAAGA-HELIA IltaTiko Ilmentymien taulukointi Auto [] autot; autot = new Auto[4]; autot
HAAGA-HELIA IltaTiko Ilmentymien taulukointi autot[0] = new Auto(”Volvo”, ”C30”, 0); autot[1] = new Auto(”Porsche”, ”Carrera 911 Coupe”, 0); autot[2] = new Auto(”Ford”, ”Ka Color”, 0); autot[3] = null; autot Volvo C30 0 Porsche Carrera 911 Coupe 0 Ford Ka Color null 3