9 Pustaka Java
-
Upload
madzani-nusa -
Category
Technology
-
view
2.650 -
download
2
description
Transcript of 9 Pustaka Java
Bab 9: PUSTAKA KELAS JAVA
Rossilawati SulaimanJabatan Sains Komputer
Pakej.. Java mempunyai pakej yang
membolehkan kelas diorganisasikan secara logikal dalam suatu hirarki.
Pakej boleh dianggap sebagai satu direktori yang mengandungi pengisytiharan kelas yang berkaitan
Pakej merupakan mekanisma untuk membina pustaka kelas dalam Java.
Sebagai contoh, pustaka Java merupakan suatu pakej.
Pakej..
javajava.lang
java.awt
java.applet
java.util
Object
Component
Container
Panel
Applet
...
...
...
java.io
java.awt.event
Setiap pakej dirujuk menurut kedudukannya dalam hirarki pakej;
Nama pakej pada paras teratas adalah java
Pakej Java mempunyai pakej-pakej lain. Antaranya java.lang, java.io, java.awt dan java.util.
Sebagai contoh, pakej java.awt mengandungi pengisytiharan kelas seperti Component, Container, dan Panel
Ia juga mengandungi pakej lain iaitu java.awt.event.
Pakej java.awt mengandungi Component,
Container dan Panel
Pakej java.awt.event yang terkandung dalam pakej
java.awt
javajava.lang
java.awt
java.applet
java.util
Object
Component
Container
Panel
Applet
...
...
...
java.io
java.awt.event
Nama pakej mencerminkan lokasi pakej dalam hirarki.
Contoh: pakej java.awt.event berada dalam pakej
java.awt. Pakej java.awt pula berada dalam pakej javajavajava.lang
java.awt
java.applet
java.util
Object
Component
Container
Panel
Applet
...
...
...
java.io
java.awt.event
Hubungan pewarisan juga boleh digambarkan melalui hirarki pakej.
Ingat kembali, pewarisan adalah satu hubungan yang membolehkan suatu kelas mewarisi atribut dan perlakuan induknya
Contoh: Kelas Panel mewarisi kelas Container yang pula mewarisi kelas Component
Kelas Applet dalam pakej java.applet mewarisi kelas Panel dalam pakej java.awt
Mengguna Kelas Dalam Pakej
Suatu kelas dalam suatu pakej boleh dirujuk menggunakan nama mutlaknya
Contoh: kelas Font yang berada dalam pakej
java.awt. Nama mutlaknya dirujuk sebagai:
java.awt.Font
Kelas File terkandung dalam pakej java.io Oleh itu, nama mutlak kelas tersebut ialah
java.io.File Contoh penggunaan:
Mengisytihar satu pembolehubah failBuka yang berjenis java.io.Filejava.io.File failBuka;java.io.File failBuka;
Mewujudkan satu objek java.io.File untuk mewakilkan suatu fail “autoexec.bat” dan rujukannya diumpuk kepada failBukafailBuka = new java.io.File(”autoexec.bat”);failBuka = new java.io.File(”autoexec.bat”);
Mengguna Kelas Dalam Pakej
Pengisytiharan berikut mengisytiharkan suatu pemboleh ubah bernama fon yang nilai awalnya adalah rujukan kepada suatu objek Font.
java.awt.Font fon = new java.awt.Font();
Untuk meringkaskan penulisan, kata kunci import boleh digunakan untuk membolehkan kelas dalam suatu pakej dirujuk menggunakan nama relatifnya
Mengguna Kelas Dalam Pakej
Contoh:import java.awt.Font;import javax.swing.JApplet;import java.awt.Graphics;...public class ApletSaya extends JApplet {...public void paint(Graphics g) {
Font fon = new Font();}...}
Pernyataan Import digunakan
Boleh menggunakan terus kelas Font
java.lang: Setiap kelas dalam pakej java.lang diimport
secara automatik. Kenyataan import untuk pakej java.lang tidak
diperlukan untuk menggunakan kelas dalam pakej tersebut.
CONTOH:System pada pernyataan System.out.println() adalah satu daripada kelas dalam java.lang.
javajava.lang
java.awt
java.applet
java.util
Object
Component
Container
Panel
Applet
...
...
...
java.io
java.awt.event
Teknik ini disediakan dalam java untuk mengimport semua kelas dalam suatu pakej Contoh:
import java.io.*; import java.awt.*;
Kenyataan di atas akan mengimport semua kelas dalam pakej java.io dan java.awt
Penggunaan wildcard
Persoalannya, bagaimana jika suatu aturcara menggunakan dua kelas yang namanya sama tetapi dalam pakej yang berbeza.
Pengkompil menghadapi masalah untuk menentukan pakej kelas tersebut
Sebagai contoh, kelas File didapati berada dalam 2 pakej yang berbeza iaitu: Kelas File dalam pakej java.io
Kelas File dalam pakej my.ukm.ftsm.io
Dalam kes ini, pengaturcara tiada pilihan kecuali menggunakan nama mutlak kelas tersebut
Contoh:Import java.io.*;Import my.ukm.ftsm.io.*;
class Aplikasi{public static void main(String args[]){
java.io.File failSaya;my.ukm.ftsm.io.File failKu;
…}
}failSaya yang diisytihar dari kelas Fail kepunyaan pakej java.io
failKu yang diisytihar dari kelas Fail kepunyaan pakej java.io
Pustaka Kelas Java
Pakej-pakej yang ada dalam pustaka Java:
java.lang: mengandungi kelas yang berkaitan
dengan bahasa Java seperti Object, String dan System
Mengandungi kelas pembungkus (wrapper) seperti Integer, Character dan Float untuk mengobjekkan data primitif
Pustaka Kelas Java
java.net: Mengandungi kelas untuk sokongan
rangkaian seperti Socket dan URL java.awt
Mengandungi kelas yang berkaitan dengan antaramuka pengguna grafik seperti Window, Menu, Button, Font, Checkbox
Pustaka Kelas Java
java.util: Mengandungi kelas serba guna (utility
classes) seperti Date, Vector dan Hashtable
java.io Mengandungi kelas yang berkaitan
dengan strim input output
Mengguna Semula Kelas
Terdapat tiga cara utama untuk mengguna semula kelas yang telah ditakrifkan: Penciptaan Objek Penggubahan Pensubkelasan
Penciptaan Objek
import java.util.*;class Aplikasi {
public static void main(String[] args) {Random penjana = new Random();for (int i=0; i < 10; i++)System.out.println(penjana.nextInt());}
}
Kita boleh mencipta objek daripada kelas yang telah ditakrif dalam pustaka Java Cipta objek dari
kelas Randomdengan kata kunci new
Penggubahan
import java.awt.*;class Kereta {
private String modelKereta;private Color warnaKereta;..public Kereta(String model, Color warna){modelKereta = model;warnaKereta = warna;}
}
Kita boleh menjadikan objek dari suatu kelas sebagai komponen bagi suatu objek lain
Atribut bagi warnaKereta merupakan objek dari
kelas Color
import java.awt.*;class Kereta {
private String modelKereta;private Color warnaKereta;..public Kereta(String model, Color warna){modelKereta = model;warnaKereta = warna;}public void paparMaklumat(){
…System.out.println(“Model: “+ modelKereta.toUpperCase());
}}
class Aplikasi{ public static void main(String args[]){ Kereta myCar = new Kereta(“Wira”,new Color(30,20,200)); }}
Kelas Kereta mempunyai atribut dari Kelas Color
Pensubkelasan
import java.awt.*;Import javax.swing.*;
public class ApletSaya extends JApplet {public void paint(Graphics g){g.drawString(“Hello Duniaku”,10,10);}
}
Perhatikan aturcara di bawah:
Subkelas ApletSaya yang dibina dengan mewarisi kelas JApplet
Pensubkelasan Kita membina satu kelas ApletSaya
yang mewarisi JApplet dalam pustaka Java
Atribut dan perlakuan kelas JApplet diwarisi oleh kelas ApletSaya
Kita membatalkan metod dalam kelas induk iaitu metod paint() dengan menakrifkan semula metod itu.