Pakkaus java.util - PowerPoint PPT Presentation

About This Presentation
Title:

Pakkaus java.util

Description:

Pakkaus java.util Yleishy dyllisi ... StringTokenizer, Random, ... Java Collections Framework Korvaa mm. Vector- ja HashTable-luokat paremmilla ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 15
Provided by: Kary92
Category:

less

Transcript and Presenter's Notes

Title: Pakkaus java.util


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 Patterneja

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-gtContainer, 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 ODBCstä
  • 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 Corbaan)
  • Ohjelman osat voidaan ladata dynaamisesti eri
    koneilta ja ajaa missä tahansa koneessa (suuri
    etu Corbaan verrattuna)
Write a Comment
User Comments (0)
About PowerShow.com