1 / 35

Kelas, overloading, inheritance (Java)

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

cid
Download Presentation

Kelas, overloading, inheritance (Java)

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. Kelas, overloading, inheritance (Java) Mia Kamayani ST, MT FakultasTeknik UHAMKA ProdiTeknikInformatika

  2. 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

  3. Kelas & Objek

  4. Kelas & Objek

  5. Mendefinisikan Method

  6. Referensi this

  7. Data Hiding

  8. Data Hiding

  9. Enkapsulasi • Menyembunyikan detil implementasi dari sebuah kelas • Memaksa pengguna untuk menggunakan sebuah interface untuk mengakses data • Membuat kode lebih mudah dikelola

  10. Overloading Nama Method • Daftar argumen harusberbeda • Tipe data yang dikembalikan dapat berbeda

  11. 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

  12. Inisialisasi Member Eksplisit

  13. Konstruktor • Nama method harus sama persis dengan nama kelas • Tidak boleh me-return data (sebuah prosedur bukan fungsi)

  14. Overload Konstruktor

  15. Konstruktor Default • Ada di dalam setiap kelas • Memungkinkan instansiasi objek dengan new Kelas() • Invalid jika menambahkan deklarasi konstruktor dengan argumen

  16. Relasi is a • Manager is a Employee,Manager adalah subkelas dari Employee

  17. Relasi extends • Keyword Java untuk inheritance/pewarisan • Manager adalahsubkelas. Employee adalahsuperkelas

  18. 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

  19. 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.

  20. KoleksiHeterogen • Koleksi dengan jenis kelas yang sama disebut koleksi homogen. • Koleksi dengan objek yang berbeda disebut koleksi heterogen.

  21. Operator instanceof

  22. 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.

  23. Overriding Method (2)

  24. 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.

  25. 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.

  26. Keyword super (2)

  27. 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

  28. Memanggilkonstruktorkelas parent • Umumnya, konstruktor default digunakan untuk menginisialisasi objek parent.

  29. Memanggilkonstruktorkelas parent (2) • Jika digunakan, harus menggunakan super atau this di baris pertama konstruktor.

  30. Package • Harus menspesifikkan deklarasi package di awal file. • Diizinkan 1 deklarasi package dalam 1 file.

  31. Statement import • Memberi tahu compiler untuk menemukan kelas yang digunakan. • Mendahului semua deklarasi kelas:

  32. Layout direktoridan package • Package disimpan dalam pohon direktori yang mengandung nama packagenya.

  33. 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

  34. 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.

  35. Kerangka Program (1)

More Related