Inheritance (Pewarisan) di Java

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Apa keuntungan utama dari penggunaan inheritance dalam pemrograman berorientasi objek?

  • Memungkinkan penggunaan variabel global.
  • Memungkinkan _subclass_ untuk mewarisi atribut dan metode dari _superclass_. (correct)
  • Mencegah penggunaan ulang kode dari _class_ lain.
  • Membatasi akses ke atribut dan metode dalam suatu _class_.

Dalam konteks inheritance di Java, apa fungsi dari kata kunci extends?

  • Mendefinisikan konstanta dalam suatu _class_.
  • Menentukan bahwa suatu _class_ adalah _abstract_.
  • Menunjukkan bahwa suatu _class_ mewarisi dari _class_ lain. (correct)
  • Mengimplementasikan sebuah _interface_.

Manakah dari pernyataan berikut yang paling akurat menggambarkan konsep superclass dalam inheritance?

  • _Class_ yang hanya berisi metode _static_.
  • _Class_ dasar dari mana _class_ lain dapat mewarisi. (correct)
  • _Class_ yang tidak dapat diinstansiasi.
  • _Class_ yang mewarisi dari _class_ lain.

Apa yang dimaksud dengan overriding method dalam konteks inheritance?

<p>Mengganti implementasi metode yang diwarisi dari <em>superclass</em> di dalam <em>subclass</em>. (C)</p> Signup and view all the answers

Dalam contoh kode yang diberikan, mengapa pemanggilan mySheep.sleep() menghasilkan output "Sheep not sleep yet" dan bukan "Zzzzzzz"?

<p>Karena metode <code>sleep()</code> di <em>class</em> <code>Sheep</code> melakukan <em>override</em> metode <code>sleep()</code> dari <em>class</em> <code>Animal</code>. (B)</p> Signup and view all the answers

Jika sebuah class Java tidak secara eksplisit menggunakan kata kunci extends, apa yang secara implisit menjadi superclass-nya?

<p><code>Object</code> (B)</p> Signup and view all the answers

Apa perbedaan utama antara single inheritance dan multilevel inheritance?

<p><em>Single inheritance</em> hanya memungkinkan pewarisan dari satu <em>superclass</em>, sedangkan <em>multilevel inheritance</em> melibatkan rantai pewarisan. (A)</p> Signup and view all the answers

Dalam konteks contoh manajemen akun bank, mengapa pendekatan dengan tiga class berbeda (Checking, Saving, Deposit) dapat dianggap kurang efisien jika ada perubahan atribut yang perlu diterapkan secara global?

<p>Pendekatan ini memerlukan penulisan kode yang berulang dan membuat perubahan tunggal menjadi kompleks. (B)</p> Signup and view all the answers

Mana dari berikut ini yang bukan merupakan keuntungan dari menggunakan inheritance dalam desain class?

<p>Mempercepat eksekusi program. (D)</p> Signup and view all the answers

Apa yang terjadi jika sebuah subclass mendeklarasikan variabel dengan nama yang sama dengan variabel di superclass?

<p>Variabel di <em>subclass</em> akan menyembunyikan variabel di <em>superclass</em>. (A)</p> Signup and view all the answers

Dalam konteks inheritance, apa yang dimaksud dengan constructor chaining?

<p>Memanggil <em>constructor</em> dari <em>superclass</em> dalam <em>constructor subclass</em>. (A)</p> Signup and view all the answers

Kapan hierarchical inheritance menjadi pilihan desain yang tepat?

<p>Ketika sejumlah <em>subclass</em> berbagi <em>superclass</em> yang sama dan mewarisi perilaku yang serupa. (B)</p> Signup and view all the answers

Mengapa penggunaan inheritance dapat meningkatkan pemeliharaan kode?

<p>Karena perubahan pada <em>superclass</em> secara otomatis diterapkan pada semua <em>subclass</em>. (A)</p> Signup and view all the answers

Dalam konteks pewarisan (inheritance), apa peran interface dibandingkan dengan class abstract?

<p><em>Class</em> dapat mengimplementasikan banyak <em>interface</em> tetapi hanya dapat mewarisi satu <em>class abstract</em>. (C)</p> Signup and view all the answers

Bagaimana pewarisan (inheritance) mendukung prinsip SOLID dari Liskov Substitution Principle?

<p>Dengan memastikan bahwa <em>subclass</em> dapat digunakan di mana saja <em>superclass</em> digunakan tanpa menyebabkan kesalahan. (B)</p> Signup and view all the answers

Mengapa, dalam beberapa kasus, penggunaan komposisi lebih disukai daripada inheritance?

<p>Karena komposisi menghindari masalah <em>tight coupling</em> dan <em>fragile base class problem</em>. (C)</p> Signup and view all the answers

Dalam Java, jika Anda ingin mencegah suatu class diwarisi oleh class lain, kata kunci apa yang harus digunakan?

<p><code>final</code> (C)</p> Signup and view all the answers

Apa keuntungan menggunakan access modifier protected dalam konteks inheritance?

<p>Membuat <em>member</em> hanya dapat diakses oleh <em>subclass</em> dan <em>class</em> dalam <em>package</em> yang sama. (B)</p> Signup and view all the answers

Bagaimana Java menangani multiple inheritance?

<p>Java mendukung <em>multiple inheritance</em> melalui <em>interface</em>. (D)</p> Signup and view all the answers

Dalam desain class, kapan sebaiknya menggunakan inheritance dan kapan menggunakan interface?

<p><em>Inheritance</em> digunakan untuk berbagi implementasi, sementara <em>interface</em> digunakan untuk menetapkan kontrak. (C)</p> Signup and view all the answers

Flashcards

Apa itu Inheritance?

Pewarisan sifat atau perilaku dari superclass ke subclass.

Apa itu Superclass?

Class yang mewariskan sifat atau perilaku ke class lain.

Apa itu Subclass?

Class yang menerima pewarisan sifat atau perilaku dari superclass.

Apa Kegunaan Inheritance?

Memungkinkan subclass menggunakan variabel, method, dan constructor dari superclass tanpa menulis ulang.

Signup and view all the flashcards

Konsep Dasar Inheritance?

Membuat hierarki class, dari umum ke spesifik.

Signup and view all the flashcards

Apa itu extends?

Keyword untuk menyatakan bahwa suatu class mewarisi dari class lain.

Signup and view all the flashcards

Apa itu Single Inheritance?

Tipe inheritance di mana suatu class hanya mewarisi dari satu superclass.

Signup and view all the flashcards

Apa itu Multilevel Inheritance?

Tipe inheritance di mana sebuah class mewarisi dari superclass, dan superclass tersebut mewarisi dari superclass lainnya.

Signup and view all the flashcards

Apa itu Hierarchical Inheritance?

Tipe inheritance di mana superclass mewarisi sifat dan perilaku ke banyak subclass atau turunannya.

Signup and view all the flashcards

Study Notes

Definisi Inheritance

  • Inheritance (pewarisan) adalah konsep OOP di Java untuk mewariskan sifat atau perilaku dari superclass.
  • Memungkinkan subclass (kelas turunan) menggunakan variabel, metode, dan constructor superclass tanpa penulisan ulang.
  • Sebuah class Java bisa memiliki satu atau lebih subclass yang mewarisinya.
  • Inheritance membentuk hierarki kelas dengan kelas umum sebagai induk kelas yang lebih spesifik.
  • Isi superclass dapat langsung digunakan oleh subclass.

Penggunaan Sintaks extends

  • Sintaks extends digunakan dalam bahasa pemrograman Java untuk inheritance.
  • Keyword extends harus digunakan diikuti nama class yang ingin diwarisi.
  • Pada contoh, class Animal berperan sebagai superclass, class Sheep sebagai subclass.
  • Pewarisan sifat terlihat pada pemanggilan metode sleep oleh object mySheep, sementara metode sleep hanya ada di class Animal.

Tipe Inheritance

  • Single Inheritance: Hanya mewarisi sifat dan perilaku dari satu superclass.
  • Multilevel Inheritance: Sebuah class mewarisi sifat dari superclass, yang juga mewarisi dari superclass lain.
  • Hierarchical Inheritance: Satu superclass mewarisi sifat dan perilakunya ke banyak subclass.

Contoh Kasus Manajemen Akun Bank

  • Terdapat 3 tipe kartu kredit dengan atribut yang sama dan berbeda.
  • Atribut yang sama:
    • Akun
    • Balance
  • Atribut yang berbeda:
    • Checking (limit balance),
    • Saving Account (batas transfer),
    • Tipe deposit (kadaluarsa).

Pemecahan Masalah: Single Class

  • Menjadikan 3 tipe kartu kredit menjadi 1 class dengan menambahkan atribut tipe.
  • Kekurangan: semua tipe akun memiliki semua atribut, termasuk atribut yang seharusnya hanya dimiliki oleh akun checking.

Pemecahan Masalah: 3 Different Class

  • Memisahkan 3 tipe menjadi 3 class berbeda dengan menuliskan atribut yang sama di setiap class.
  • Kekurangan: Jika ingin menambahkan atribut baru (misalnya, bankcode), harus dituliskan di semua class.

Implementasi Inheritance

  • Memudahkan developer dalam membuat class dengan atribut dan metode yang sama.
  • Inheritance dibuat menggunakan keyword extends, child class akan memiliki semua atribut dan metode dari parent class.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Inheritance in Java PDF

More Like This

CSC1208: Java Object Oriented Programming Chapter 11
25 questions
Charmo University - OOP I - Lecture 4
28 questions
Inheritance in OOP (Java)
39 questions

Inheritance in OOP (Java)

SweetYtterbium7047 avatar
SweetYtterbium7047
Use Quizgecko on...
Browser
Browser