1 / 14

Pakkaus java.util

Pakkaus java.util. Yleishyödyllisiä luokkia m.m. oliojoukkojen hallintaan: Vector , HashTable , Properties , Stack , BitSet , ... Vector -luokka: itsestään kokoa muuttava taulukko joka on erittäin hyödyllinen Date -, DateFormat -, Calendar -luokat: päivämäärien ja aikojen hallintaan

jaeger
Download Presentation

Pakkaus java.util

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. Pakkaus java.util • Yleishyödyllisiä luokkia m.m. oliojoukkojen hallintaan: Vector, HashTable, Properties, Stack, BitSet, ... • Vector-luokka: itsestään kokoa muuttava taulukko joka on erittäin hyödyllinen • Date-, DateFormat-, Calendar-luokat: päivämäärien ja aikojen hallintaan • Muita: StringTokenizer, Random, ...

  2. Java Collections Framework • Korvaa mm. Vector- ja HashTable-luokat paremmilla • Rajapintaluokkahierarkia kätkee toteutuksen, eli käytetyt algoritmit • Algoritmia voi vaihtaa tarpeen mukaan muuttamatta itse ohjelmaa • Hyvän olio-ohjelmoinnin perustaa! • Käyttää osittain n.s. Design Pattern:eja

  3. Design Patterns • Design Pattern on tunnettu ja hyväksi koettu ohjelmointiratkaisu tietyn tyyppisiin tilanteisiin • Design Patternit on suunniteltu ohjelmien luotettavuuden, selkeyden ja muunneltavuuden maksimoimiseksi • Rajapinta- ja abstrakteja luokkia käytetään paljon

  4. Tärkeitä Design Patternejä • Abstract Factory: olioiden luonti abstraktia • Adapter: sovitetaan luokka uuteen rajapintaan • Composite: olioryhmille ja olioille samat operaatiot • Decorator: lisätoimintoja olioiden linkittämisellä • Factory Method: olion tyyppi ei ennalta selvä • Observer: seuraa muiden olioiden tilan muutoksia • Strategy: rajapinta annettu, toteutus muuttuu • Template Method: yleinen algoritmi, kutsuttavien metodien korvaamisella muutetaan toimintaa

  5. Abstract Factory • Olioiden luontimetodit ovat abstrakteja, mitä olioita luodaan riippuu olosuhteista • Esimerkki: Javan Swing-käyttöliittymien ”look-and-feel” muokkaus, missä käyttöliittymäelementtien ulkonäkö muuttuu valitun mukaiseksi

  6. Adapter • Kun halutaan kahden-tai useammantyyppisiä ominaisuuksia samalle olioille • Esimerkiksi prosessien simulointiluokka, jonka olioita halutaan visualisoida muiden graafisten elementtien tapaan • Esimerkiksi luokkien käyttäminen kahdesta eri käyttöliittymäkirjastosta

  7. Composite • Esimerkki: Javan AWT-luokkahierarkia Component->Container, joissa esimerkiksi metodia paint() kutsutaan samalla tavalla sekä komponenteille että komponenttiryhmille

  8. Decorator • Esimerkiksi Javan IO-luokat, missä ketjuttamalla eri olioita lisätään ominaisuuksia toisen olioon. • Sama periaate Swingin JScrollPane-luokan käytössä

  9. Factory Method • Javassa esimerkiksi Calendar-luokka, jossa konstruktori on suojattu ja luonti tapahtuu getInstance()-metodin avulla • Todellisuudessa palautettu olio on jonkin Calendar-luokan aliluokan olio joka riippuu mm. maasta missä ollaan

  10. Observer • java.util-pakkauksesta löytyy Observer/Observable rajapintaluokat • Käytännön esimerkki: Listener-rajapinnat Javan käyttöliittymätapahtumien kuuntelemiseen • Javassa myös kuvien lataus ja näyttö toimii samalla periaatteella (ImageObserver)

  11. Strategy • Esimerkki: Java Collections Framework, jossa rajapintaluokat määrittelevät toiminnot, mutta allaoleva toteutus määrittelee teknisen toteutuksen

  12. Template Method • Esimerkki: sort()-metodit, jotka käyttävät yleistä algoritmia ja joissa ainoastaan vertaus- ja vaihtometodit riippuvat järjestettävän tiedon luokasta. Java Collections Frameworkissa tämä tarkoittaa Comparable-rajapintaluokan implementoimista.

  13. JDBC • Java-kielen versio ODBC:stä • Yleinen protokolla tietokantojen käyttöä varten SQL-komentojen avulla • Hajautettu: tietokanta voi olla eri koneella kuin itse ohjelma

  14. RMI • Hajautettujen ohjelmien tekoon • Ohjelman eri osia voidaan suorittaa eri koneilla • Ei vaadi suurta lisätyötä ohjelmoijalta • Hajautetun ohjelman kaikki osat ohjelmoitu Javalla (ero Corba:an) • Ohjelman osat voidaan ladata dynaamisesti eri koneilta ja ajaa missä tahansa koneessa (suuri etu Corba:an verrattuna)

More Related