1 / 19

JavaDoc – esimerkki

JavaDoc – esimerkki. /** * Malliluokka, jossa esitellään JavaDoc:n toimintaa * @version 1.0 * @author Matti Meikäläinen */ public class TestApp { /** * Malli luokkamuuttujasta */ private int m_memberVariable; /** * Mallimetodi * @param name Otettava parametri

harsha
Download Presentation

JavaDoc – esimerkki

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JavaDoc – esimerkki /** * Malliluokka, jossa esitellään JavaDoc:n toimintaa * @version 1.0 * @author Matti Meikäläinen */ public class TestApp { /** * Malli luokkamuuttujasta */ private int m_memberVariable; /** * Mallimetodi * @param name Otettava parametri * @return Merkkijono jonka metodi palauttaa */ public String testMethod(String name) { /* … */ } }

  2. JavaDoc • Oletusarvoisesti JavaDoc dokumentoi vain public-näkyvyysalueeseen määritellyt attribuutit ja metodit • -private –komentoriviparametrilla se ottaa mukaan myös private ja protected-näkyvyysalueiden dokumentoinnin • Lisätietoa JavaDoc:sta löytyy verkosta: http://java.sun.com/j2se/javadoc/

  3. Muita aihealueeseen kuuluvia asioita rekursio stattiset metodit ja attribuutit

  4. Rekursio • Jos ohjelmassa on metodi, joka kutsuu sisällään itseään uudestaan, käytetään siitä nimitystä rekursiivinen metodi • Rekursiiviset metodit kutsuvat itseään eri parametreilla • Parametrien perusteella metodi kutsuu itseään tai mikäli ollaan päästy perustapaukseen ei kutsua enää suoriteta

  5. Rekursio • Rekursiossa jokaisella kutsulla lähestytään aina jotakin perustapausta • Rekursio on perinteisissä proseduraalisissa ja olio-ohjelmointikielissä hidasta • Teoriassa kaikki rekursiiviset metodit voidaan purkaa auki iteratiivisiksi versioiksi • Rekursiota rajoittaa suurissa tapauksissa käytössä oleva muistin määrä

  6. Rekursio – Fibonaccin luvut • Fibonaccin lukuja ovat: 0, 1, 1, 2, 3, 5, 8, 13, ... • Ensimmäinen luku on 0, toinen luku 1 ja siitä eteenpäin seuraava luku saadaan aina kahden edellisen summana • Fibonnaccin lukuja voidaan laskea rekursiivista metodia hyväksikäyttäen • Huomattavasti tehokkaampiakin menetelmiä on olemassa

  7. 2 fib(4) 1 1 fib(3) fib(2) 0 1 fib(2) fib(1) Rekursio – Fibonaccin luvut // Palauttaa n:nnen Fibonaccin luvun public int fib(int n) { if (n==1) return 0; else if (n==2) return 1; else return fib(n-1) + fib(n-2); } Esim: fib(4)

  8. Staattiset metodit ja attribuutit • Yleensä luokan sisään kirjoitetut metodit käyttävät jotain olion attribuuttia • On olemassa kuitenkin myös metodeja, jotka eivät tarvitse olion attribuutteja tai kutsu toisia olion attribuutteja käyttäviä metodeja (esim. Math-luokan metodit) • Kyseiset metodit eivät näin ollen tarvitse olemassa olevaa oliota suoritukseensa • Tällaisia metodeja kutsutaan staattisiksi

  9. Staattiset metodit ja attribuutit • Metodi määritellään staattiseksi static-määreellä: public static double sqrt(double num) • static-määreellä määriteltyä metodia voidaan kutsua luokan ulkopuolelta ilman olion luontia: double result = Math.sqrt(16); Luokan nimi, jossa metodi on määritelty

  10. Staattiset metodit ja attribuutit • Attribuutteja voidaan määrittää myös staattisiksi. • Staattinen attribuutti on käytettävissä ilman olion luontia. • Staattista attribuuttia voi käyttää kuten normaaliakin luokan attribuuttia. • Staattinen attribuutti on sama joka paikassa (vrt. ei-staattiset attribuutit, jotka ovat yksilölliset jokaisella luodulla oliolla)

  11. Staattiset metodit ja attribuutit • Staattiset metodit/attribuutit ovat käyttöalueeltaan rajatumpia kuin ei-staattiset • Hyvän ohjelmointitavan mukaista on määrittää metodi/attribuutti staattiseksi aina kun se on mahdollista • Käytännössä varsinkin staattisten metodien käyttö on harvinaista

  12. Staattiset metodit ja attribuutit • Esimerkkejä: • main-metodin on aina oltava staattinen • Vakiot määritetään yleensä staattisina: private final static int NUM_COLS = 5; • Color-luokan määritellyt värit ovat staattisia public final static Color black = new Color(0,0,0); • Math-luokan kaikki metodit ja attribuutit ovat staattisia

  13. Staattiset metodit ja attribuutit Luokan ulkopuolelta: TestApp.setValues(); int i = TestApp.A; i = TestApp.B; i = (new TestApp()).B; (new TestApp()).setValues(); (new TestApp()).setMemberValues(); public class TestApp { public static final int A = 1; public final int B = 2; private static int C = 3; private int D = 4; public TestApp() { } public static void setValues() { C = A; A = C; D = C; setMemberValues(); } public void setMemberValues() { C = A; D = C; setValues(); } } //OK //OK //Ei sallittu //OK //OK //OK // Sallittu, koska A ja C staattisia // Ei sallittu, koska A on vakio (final) // Ei sallittu, koska D ei staattinen // Ei sallittu, koska ollaan staat. metodissa // Sallittu // Sallittu, koska ei olla staattisessa metodissa // Sallittu

  14. Tentti Tenttipäivä Harjoitushyvitykset Laskuharjoitustentti Tenttialue

  15. Tentti • Lopputentti ke 27.11.2002 klo 12-16 salissa L23 • Uusintatentti 13.12.2002 klo 12-16 salissa L21 • Tentteihin ilmoittautuminen viikkoa ennen tenttiä • Tenttioikeus kun laskuharjoituksista on tehty vähintään 25 % (7 tehtävää)

  16. Tentti • Jos suoritettuna on alle 25 % tehtävistä, tulee tehdä myös laskuharjoitustentti • Laskuharjoitustenttiin ilmoittautumiset myös viikkoa ennen sähköpostitse • Osoite tkeinone@cs.uku.fi • Tehdään lopputentin yhteydessä

  17. Tentti • Tenttiin saa arvosanahyvityksiä harjoituksista: • 75 % - 100 % (19-25 teht.) +2 arvosanaa • 50 % - 75 % (13-18 teht.) +1 arvosana • 25 % - 50 % (7-12 teht.) ei hyvitystä • Tentti saatava ensin läpi ennen kuin hyvityksiä otetaan huomioon • Arvostelu T3-T4-T5-H6-H7-H8-H9-E10-E11-E12

  18. Tenttialue • Rileyn kirjasta luvut 1-5, 7, 10, 12-14 • noin 380 sivua • Kysymykset luennoilla ja/tai harjoituksissa esillä olleista asioista • Kirjasta puuttuvia asioita: • JavaDoc • main-metodin käyttö • kääntäminen ja suoritus komentoriviltä • Vector-luokan käyttö • break ja continue toistorakenteissa • operaattorien lyhennykset (esim. i*=2)

  19. Tentti • Tarkoituksena mitata kokonaisuuden hahmottamista, ei nippelitietoa • Mikäli tehtävissä tarvitsee käyttää jotain aLibrary:n tai J2SE:n API-luokkaa, on ko. luokan UML-kaavio tai lähdekoodi tehtävien mukana • Tentissä ei saa olla kirjaa mukana; kynä, kumi ja viivoitin riittää

More Related