On esim aika-luokka jonka sitten perii tallennus-luokka, kysymys kuuluu kannattaako aika-luokkaan tehdä aseta_aika-metodi voiko tallennusluokkaan tuo metodi joka sitten kutsuu aika-luokassa olevaan ajankäsittelyyn tarkoitettua?
Siis kannattaako nuo aseta_x laittaa juuri siihen luokkaan johon ne liittyy, vai tehdä erityinen käyttöliittymä luokka johon on kerätty kaikki aseta_x jutut?
Siis kannattaako nuo aseta_x laittaa juuri siihen luokkaan johon ne liittyy, vai tehdä erityinen käyttöliittymä luokka johon on kerätty kaikki aseta_x jutut?
Vastaukset 6
Vanhimmat
Kaikki aikaan liittyvät aika -luokkaan ja kaikki tallennukseen liittyvät tallennus -luokkaan eli ehdottomasti kaikki ko. luokkaan kuuluvat pidetään luokan sisällä.
mikä on "tallennus-luokka"? siis mitä se tekee ja miten se liittyy aikaan? kuulostaa todellä hämyltä että se perisi aika-luokan, ehkä kompositio vois olla kaikin puolin fiksumpi ratkaisu?
nyrkki sääntö luokkien perintähierarkiassa on se, että perivä luokka on "on" sanalla yhdistettävissä kantaluokkaaan, eli ihminen on nisäkäs, lapsi on ihminen, mies on ihminen jne.
Eli aika-luokkaa ei kannata periä tallennus luokkaa, koska tallennus-luokan ei tarvitse periä mitään ominaisuuksia aika-luokalta. Tee ennemminkin niin, että annat parametrinä aika-luokan tallennus luokalle.
aseta_aika-metodi ehdottomasti aika-luokalle. Sillä ei ole mitään tekemistä tallennus-luokan kanssa!
Kiitoksia tuosta säännöstä se helpottikin aikapaljon miettimistä mikä kannattaa periyttää ja mikä ei.
Kiitoksia kaikille vastaajille. Juu nää olio-jutut on viel vähän hakusessa.
"mikä on "tallennus-luokka"? siis mitä se tekee ja miten se liittyy aikaan? kuulostaa todellä hämyltä että se perisi aika-luokan, ehkä kompositio vois olla kaikin puolin fiksumpi ratkaisu?"
Tallennus-luokka hoitaa kaikki tiedon tallennukseen liittyvät asiat, siis siirtää tiedoston/tiedon mittalaitteelle jne...
Tuo mittalaite käyttää omaa päiväys/aika formaattia joten tein luokan jossa on kaikki ajankäsittelyyn liittyvät toiminnot, näin ajankäsittely on jatkossa helpompaa.
Mietin perimisen sijasta, että joskos vain tuo tallennus-luokka käyttäisikin aika-luokkaa eikä sitä perisi, lienee parempa tehdä niin?
Mitähän tarkoitat kompositiolla tässä yhteydessä?
Että tekisin ns käyttöliittymän
"Mitähän tarkoitat kompositiolla tässä yhteydessä?"
Lienee tarkoittavan kompositiolla käsitettä, jonka itse tunnen koosteena, eli Tallennus-luokan sisälle jäsenmuuttujaksi 1kpl Aikaa, jolloin Tallennus-olio omistaa sisällänsä olevan Aika-olion ja huolehtii sen elinkaaresta.