9 pustaka java

24
Bab 9: PUSTAKA KELAS JAVA Rossilawati Sulaiman Jabatan Sains Komputer

Upload: madzani-nusa

Post on 31-Jan-2015

2.650 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 9   Pustaka Java

Bab 9: PUSTAKA KELAS JAVA

Rossilawati SulaimanJabatan Sains Komputer

Page 2: 9   Pustaka Java

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.

Page 3: 9   Pustaka 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

Page 4: 9   Pustaka Java

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.

Page 5: 9   Pustaka Java

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

Page 6: 9   Pustaka Java

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

Page 7: 9   Pustaka Java

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

Page 8: 9   Pustaka Java

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

Page 9: 9   Pustaka Java

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

Page 10: 9   Pustaka Java

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

Page 11: 9   Pustaka Java

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

Page 12: 9   Pustaka Java

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

Page 13: 9   Pustaka Java

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

Page 14: 9   Pustaka Java

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

Page 15: 9   Pustaka Java

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

Page 16: 9   Pustaka Java

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

Page 17: 9   Pustaka Java

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

Page 18: 9   Pustaka Java

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

Page 19: 9   Pustaka Java

Mengguna Semula Kelas

Terdapat tiga cara utama untuk mengguna semula kelas yang telah ditakrifkan: Penciptaan Objek Penggubahan Pensubkelasan

Page 20: 9   Pustaka Java

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

Page 21: 9   Pustaka Java

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

Page 22: 9   Pustaka Java

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

Page 23: 9   Pustaka Java

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

Page 24: 9   Pustaka Java

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.