Olioon kohdistuvia perustoimintoja tMyn1 Olioon kohdistuvia perustoimintoja Kopiointimuodostin (copy constructor) alustaa olion tietojäsenet saman luokan.

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
6. Metodit.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
Luokkien väliset koostesuhteet
Luokan otsikko- ja toteutustiedosto tMyn1 Luokan otsikko- ja toteutustiedosto •Tähän asti ohjelmaesimerkit on toteutettu siten, että kaikki koodi on yhdessä.
16. Javan omat luokat.
Ict1td002: Ohjelmointitaito Kertaus Osio 2 - luokat - ilmentymät - viittaus- ja arvomuuttuja - ilmentymien taulukointi HAAGA-HELIA IltaTiko.
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
Johdetun luokan määrittely tMyn1 Johdetun luokan määrittely •Kun johdettu luokka periytetään kantaluokasta, saadaan kantaluokan jäsenet enemmän tai vähemmän.
13. Pakkaukset.
Olio-ohjelmoinnin perusteet luento 3
Poikkeuskäsittely- lohkot tMyn1 Poikkeuskäsittelylohkot try-catch Poikkeustilanteiden käsittelymekanismi toteutetaan varatuilla sanoilla try, throw ja.
Luokan muodostintMyn1 Luokan muodostin Olioihin kohdistuvia automaattisia toimintoja ovat luonti, alustus, kopiointi, sijoitus, tyhjennys ja tuhoaminen.
Vakio-osoitin ja osoitin vakioon tMyn1 Vakio-osoitin ja osoitin vakioon Tavallinen osoitin voi vaihtaa osoitettavaa keskusmuistialuetta. Tämä voidaan tehdä.
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
9. Periytyminen Javassa.
Osoitin ja char- tietotyyppi tMyn1 Osoitin ja char-tietotyyppi Osoitinmuuttuja, joka on tyyppiä char* voidaan alustaa merkkijonolla: char* alku=”En toivo.
Sami Jantunen LTY/Tietotekniikan osasto
Dynaamiset oliottMyn1 Dynaamiset oliot Dynaamisen olion tunnuksen esittely ja olion määrittely voivat tapahtua yhtäaikaisesti tai eri aikaan. Dynaamisen.
Olioon kohdistuvia perustoimintoja tMyn1 Olioon kohdistuvia perustoimintoja Kopiointimuodostin (copy constructor) alustaa olion tietojäsenet saman luokan.
Virtuaaliset jäsenfunktiot tMyn1 Virtuaaliset jäsenfunktiot Virtuaalinen jäsenfunktio on esiteltävä monimuotoisessa kantaluokassa. Virtuaalisen jäsenfunktion.
© Jukka Harju, Jukka Juslin
Tekstitiedostosta lukeminen tMyn1 Tekstitiedostosta lukeminen Tiedosto voidaan avata pelkästään lukemista varten tai kirjoittamista ja lukemista varten.
Funktion esittely eli prototyyppi tMyn1 Funktion esittely eli prototyyppi Funktion esittely (function declaration) kertoo funktion nimen, parametrien tyypit.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Luokan muodostintMyn1 Luokan muodostin Olioihin kohdistuvia automaattisia toimintoja ovat luonti, alustus, kopiointi, sijoitus, tyhjennys ja tuhoaminen.
7. Oliot ja viitteet.
Luokan määrittely class-määreellä tMyn1 Luokan määrittely class-määreellä Luokan määrittely tarkoittaa luokan tietojäsenten esittelyä ja jäsenfunktioiden.
String-vertailusta ja Scannerin käytöstä (1/2)
19. Olio-ohjelmointia Javalla
Lueteltu tyyppitMyn1 Lueteltu tyyppi Lueteltu tyyppi on tietotyyppi, jonka arvot luetellaan erikseen tyypin määrittelyn yhteydessä. Lueteltua tietotyyppiä.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
22. Taulukot.
17. Kooste Kooste Kooste (aggregation) on luokkien A ja B välinen suhde, joka tarkoittaa “A on B:n osa” tai “A kuuluu B:hen”. − Koostesuhteessa.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet.
Johdetun luokan olion esittely... tMyn1 Johdetun luokan olion esittely ja määrittely Esittelyluokka tarkoittaa olion tunnuksen luokkaa. Määrittelyluokka.
Poikkeustenkäsittely- lohkot tMyn1 Poikkeustenkäsittelylohkot try-catch Poikkeustilanteiden käsittelymekanismi toteutetaan varatuilla sanoilla try, throw.
Oman poikkeus- käsittelyfunktion tMyn1 Oman poikkeuskäsittelyfunktion määrittely Funktion tulisi muodostaa ainoastaan sellaisia poikkeuksia, jotka on sallittu.
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
Tekstitiedostoon kirjoittaminen tMyn1 Tekstitiedostoon kirjoittaminen Tiedostoja käsitellään ohjelmassa tiedosto-olion avulla. Tiedosto-olion luokka sisältää.
Ohjelmointi työtä n. 16 h/vko onnistumista työtä n. 16 h/vko onnistumista #include int main(void) { std::cout
Monimuotoinen luokka tMyn1 Monimuotoinen luokka Monimuotoinen luokka mahdollistaa saman jäsenfunktion toteutuksen monella tavalla. Tällöin puhutaan virtuaalisesta.
Tiedon vieminen funktiolle tMyn1 Tiedon vieminen funktiolle, parametrit Argumentin vieminen funktiolle voidaan toteuttaa kahdella menetelmällä: –Pass-by-Value.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Kantaluokan määrittely tMyn1 Kantaluokan määrittely Perinnän käyttöön liittyvät varatut sanat private, protected, public, final ja abstract. Ne tarkoittavat.
Johdetun luokan määrittely tMyn1 Johdetun luokan määrittely Kun johdettu luokka periytetään kantaluokasta, saadaan kantaluokan jäsenet enemmän tai vähemmän.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
14. Poikkeukset Sisällys Johdanto poikkeuksiin. Poikkeusten käsittely: − Poikkeusten käsittely paikallisesti. − Poikkeusten heittäminen. Exception.
Olio ohjelmoinnin perusteet luento 3: Johdanto C++ kieleen, Ensimmäinen C++ ohjelma, Olioiden elinkaari Jani Rönkkönen LTY/Tietotekniikan osasto Kalvot.
Olio-ohjelmoinnin perusteet luento 5 Päivi Ovaska LTY/Tietotekniikan osasto.
Olio-ohjelmoinnin perusteet luento 2
16. Javan omat luokat Sisällys Johdanto. Object -luokka: − toString -, equals -, clone - ja getClass -metodit. Comparable -rajapinta: − compareTo.
String-vertailusta ja Scannerin käytöstä (1/2)
17. Kooste.
5. Kapselointi.
6. Metodit.
7. Oliot ja viitteet.
2. Taulukot.
1. Olio-ohjelmointi.
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
2. Taulukot.
6. Metodit.
7. Oliot ja viitteet.
13. Pakkaukset.
13. Pakkaukset.
4. Luokan testaus ja käyttö olion kautta
Esityksen transkriptio:

Olioon kohdistuvia perustoimintoja tMyn1 Olioon kohdistuvia perustoimintoja Kopiointimuodostin (copy constructor) alustaa olion tietojäsenet saman luokan olemassa olevan olion tiedoilla. Kääntäjä generoi kopiointimuodostimen, joka kopioi uudelle oliolle parametrina välitetyn saman luokan olion tietojäsenten sisällön. Ohjelmoija voi määritellä kopiointimuodostimen myös itse, jos kääntäjän generoiman muodostimen toiminta ei tyydytä.

Olioon kohdistuvia perustoimintoja tMyn2 Automaattisen olion tilanvaraus ja kopiointimuodostimen kutsu: Luokka uusiOlio(vanhaAutomOlio); Luokka uusiOlio=vanhaAutomOlio; Luokka uusiOlio(*vanhaDynOlio); Luokka uusiOlio=*vanhaDynOlio;

Olioon kohdistuvia perustoimintoja tMyn3 Dynaamisen olion tilanvaraus ja kopiointimuodostimen kutsu: Luokka *uusiOlio; uusiOlio=new Luokka(vanhaAutomOlio); uusiOlio=new Luokka(*vanhaDynOlio);

Olioon kohdistuvia perustoimintoja tMyn4 Ohjelmoija voi myös itse määritellä kopiointimuodostimen. Silloin tulee muistaa: –Kopiointimuodostimen ensimmäinen parametri on viittaus saman luokan olioon. –Viittaus voi olla määritelty vakioksi const-määreellä. –Kopiointimuodostimen muilla mahdollisilla parametreilla tulee olla oletusarvo. –Jos ohjelmoija määrittelee kopiointimuodostimen, ei kääntäjä generoi oletusmuodostinta.

Olioon kohdistuvia perustoimintoja tMyn5 Kopiointimuodostimen esittelytavat: Luokka (const Luokka&); Luokka (const Luokka&, parametri=alkuarvo,...);

Olioon kohdistuvia perustoimintoja tMyn6 #include "stdafx.h" #include using namespace System; using namespace std; class Laatikko { public: Laatikko(double, double, double); Laatikko(const Laatikko&, double=6.8); double tilavuus(); private: double leveys; double syvyys; double korkeus; };

Olioon kohdistuvia perustoimintoja tMyn7 Laatikko::Laatikko(double le, double sy, double ko) { leveys=le; syvyys=sy; korkeus=ko; } Laatikko::Laatikko(const Laatikko& viite, double ko) { leveys=viite.leveys; syvyys=viite.syvyys; korkeus=ko; } double Laatikko::tilavuus() { return leveys*syvyys*korkeus; }

Olioon kohdistuvia perustoimintoja tMyn8 int main(array ^args) { Laatikko eka(2.1, 3.2, 4.3); Laatikko kopio(eka); Laatikko tokaKopio(eka, 5.7); cout<<"Tilavuus on, eka: "<<eka.tilavuus()<<"."<<endl; cout<<"Tilavuus on, kopio: "<<kopio.tilavuus()<<"."<<endl; cout<<"Tilavuus on, tokaKopio: "<<tokaKopio.tilavuus() <<"."<<endl; return 0; }

Olioon kohdistuvia perustoimintoja tMyn9 Olion tilanvarauksen jälkeen olemassa olevan olion tietojäsenet voidaan alustaa sijoitusoperaattorilla = Kopioinnissa on aina kysymys uuden olion luonnista kopiointimuodostimen avulla, kun taas sijoituksessa jo olemassa olevan olion tietojäsenten arvot korvautuvat uusilla. Sijoitus olemassa olevaan olioon: olenOlemassa=niinMinakin;