Mitä hyötyä on siitä, että metodeilla on argumentteja?

Metodien argumentit, tuttavallisemmin (ainakin minulle) parametrit, esiintyivät ohjelmointitehtävissämme alusta alkaen. Kesti hetken aikaa ennen kuin ymmärsin niiden syvällisemmän merkityksen. Tehtävissä sanottiin, että laita tämä metodi ottamaan parametrinaan kokonaislukumuuttuja ja helppoahan se oli sokeasti totella ohjeita. Ensimmäisen harkan aikana opin jo ymmärtämään, että parametreilla pystytään vaikuttamaan metodin palatusarvoon, mutta sen syvällisemmin en asiaa pohtinut.

Tässä vaiheessa minulle oli vielä täysin hämäränpeitossa, mitä pääohjelmametodin String[] args oikein tarkoittaa. Olin aina vain kirjoittanut sen sulkujen sisälle kiltisti vailla sen kummempaa ymmärrystä sen tarkoitusperistä. Neljännessä Javatehtävässä vihdoinkin käsiteltiin sitä. Kyse onkin komentoriviparametrista. Omassa ohjelmassamme komentoriviparametreiksi määritettiin nimi ja nopeus. Käynnistettäessä ohjelma kysyi näitä määritettyjä arvoja ja tallensi ne muistiin. Näin ohjelman käyttäjä sai määritellä aluksi oman nimensä ajaessaan ohjelmaa.

Main-metodi on kuitenkin poikkeustapaus. Kurssin edetessä oppia kertyi ja metodien parametritkin tulivat tutummaksi ja tutummaksi.  Ne muodostuivat itsestäänselvyyksiksi. Suuri askel oli kun osasi itse määrittää metodille tilanteeseen sopivat parametrit. Varsinkin lopputehtävissä tuli pelailtua konstruktorien parametrien kanssa, kun monen luokan piti tuntea moni muu luokka ja parametrejä kertyi lukuisia tehtävän edetessä.

Parametreilla voi siis vaikuttaa metodin palautusarvoon. Kuvitellaan, että metodi ottaa parametrinaan boolean-muuttujan ja metodin sisällä määritellään erilaiset palautusarvot sekä true-arvolle, että false-arvolle. Nyt metodi palauttaa arvon, joka riippuu annetun parametrin totuusarvosta. Tässä tulee juuri ilmi parametrien eli argumenttien hyödyllisuus – ei tarvitse tehdä jokaiselle tilanteelle omaa metodiansa.

-Olli

0 Responses to “Mitä hyötyä on siitä, että metodeilla on argumentteja?”



  1. Jätä kommentti

Vastaa

Please log in using one of these methods to post your comment:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s





%d bloggers like this: