380 likes | 579 Views
Kelas, overloading, inheritance (Java). Mia Kamayani ST, MT Fakultas Teknik UHAMKA Prodi Teknik Informatika. Kelas & Objek. Sebuah kelas adalah template atau model Sebuah objek diciptakan berdasarkan model tsb
E N D
Kelas, overloading, inheritance (Java) Mia Kamayani ST, MT FakultasTeknik UHAMKA ProdiTeknikInformatika
Kelas & Objek • Sebuah kelas adalah template atau model • Sebuah objek diciptakan berdasarkan model tsb • Ada 1 copy kelas per programnya, tetapi objek bisa banyak (instansiasi objek melalui new) • Method mendefinisikan operasi untuk sebuah kelas • Method harus milik dari sebuah kelas
Enkapsulasi • Menyembunyikan detil implementasi dari sebuah kelas • Memaksa pengguna untuk menggunakan sebuah interface untuk mengakses data • Membuat kode lebih mudah dikelola
Overloading Nama Method • Daftar argumen harusberbeda • Tipe data yang dikembalikan dapat berbeda
Menciptakan dan Menginisialisasi Objek • Memanggil new Kelas() untuk mengalokasikan ruang untuk objek baru menyebabkan: • Ruang untuk objek baru dialokasikan dan diinisialisasi 0 atau null • Inisialisasi eksplisit dilakukan • Sebuah konstruktor dieksekusi
Konstruktor • Nama method harus sama persis dengan nama kelas • Tidak boleh me-return data (sebuah prosedur bukan fungsi)
Konstruktor Default • Ada di dalam setiap kelas • Memungkinkan instansiasi objek dengan new Kelas() • Invalid jika menambahkan deklarasi konstruktor dengan argumen
Relasi is a • Manager is a Employee,Manager adalah subkelas dari Employee
Relasi extends • Keyword Java untuk inheritance/pewarisan • Manager adalahsubkelas. Employee adalahsuperkelas
Pewarisan Tunggal • Ketika sebuah kelas mewarisi hanya dari 1 kelas, disebut pewarisan tunggal. • Pewarisan tunggal membuat kode lebih dapat diandalkan. • Interfaces menyediakan keuntungan dari pewarisan multi tanpa efek samping negatif. • Subkelasmewarisisemua method danvariabeldarisuperkelas (parent) • Konstruktortidakdiwariskan, 2 carauntukmemasukkankonstruktor: • Menggunakankonstruktor default • Menulis 1 ataulebihkonstruktorsecaraeksplisit
Polimorfisme • Adalah kemampuan untuk memiliki banyak bentuk • Contohnya, kelas Manager memiliki akses ke method dari kelas Employee. • Sebuah objek hanya memiliki 1 bentuk. • Variabel referensi memiliki banyak bentuk, dapat mengacu ke objek yang berbeda.
KoleksiHeterogen • Koleksi dengan jenis kelas yang sama disebut koleksi homogen. • Koleksi dengan objek yang berbeda disebut koleksi heterogen.
Overriding Method • Subkelas dapat memodifikasi kelakuan yang diwarisi dari kelas parent. • Subkelas dapat membuat method dengan fungsionalitas berbeda dari method parent tetapi dengan nama, tipe return dan argument list yang sama.
Aturan override method • Harus memiliki tipe return yang identik dengan method yang di-override. • Tingkat akses tidak boleh kurang dari method yang di-override. • Harus memiliki jenis exception yang sama dengan method yang di-override.
Keyword super • superdigunakan dalam kelas untuk merefer pada kelas parentnya. • super digunakan untuk merefer variabel member dari kelas parent. • Kelakuan kelas parent dipanggil seolah-olah objek tsb adalah bagian dari kelas parent. • Method yang dipanggil tidak perlu ada di kelas parent, namun bisa saja milik hirarki yang lebih atas.
Memanggilkonstruktorkelas parent • Ketika suatu objek diinisialisasi, sekuen event berikut muncul: • ruang memori dialokasikan dan diinisialisasi ke nilai 0 • inisialisasi eksplisit dilakukan untuk tiap kelas dalam hirarki • sebuah konstruktor dipanggil untuk tiap kelas dalam hirarki
Memanggilkonstruktorkelas parent • Umumnya, konstruktor default digunakan untuk menginisialisasi objek parent.
Memanggilkonstruktorkelas parent (2) • Jika digunakan, harus menggunakan super atau this di baris pertama konstruktor.
Package • Harus menspesifikkan deklarasi package di awal file. • Diizinkan 1 deklarasi package dalam 1 file.
Statement import • Memberi tahu compiler untuk menemukan kelas yang digunakan. • Mendahului semua deklarasi kelas:
Layout direktoridan package • Package disimpan dalam pohon direktori yang mengandung nama packagenya.
Pass-by-Value • Java melewatkan argumen dengan nilai • Ketika instans objek dilewatkan sebagai sebuah argumen ke sebuah method, nilai dari argumen adalah sebuah referensi ke objek • Konten dari objek dapat diubah di dalam method yang memanggilnya, tetapi referensi objek tidak pernah berubah
Latihan • Tulis di kertas dengan pensil 2B • Tulislah sebuah kelas Date dengan atribut: • Properti: privateintday, month, year • Method: buataccessor method-nya (getter dan setter), buat method print() yang berfungsiuntukmencetaksemuavariabelanggotakelas Date • KemudiantulissebuahkelasDateUsersebagai main program-nyauntukmengaksesvariabelanggotakelas Date, lakukanmanipulasithdvariabelanggotadan print variabelanggotanya.