Skip to content

M02 · Bab 4± 40 menitDraf AI

Inheritance

Tujuan belajar

  • Menurunkan class dengan extends dan memanggil constructor induk dengan super(...)
  • Meng-override method dengan @Override dan memakai ulang perilaku induk lewat super.method()
  • Memahami urutan constructor, akses protected, dan class Object
  • Memvalidasi argumen sebelum super(...) dengan flexible constructor bodies (Java 25)
  • Memakai final untuk mencegah override dan menilai kapan inheritance tepat dibanding composition

Prasyarat: Static, Final, dan Immutability

Kuis

5 soal · lulus bila minimal 70% benar

1.Apa output kode ini? class Animal { Animal() { System.out.print("A"); } String sound() { return "..."; } } dan class Cat extends Animal { Cat() { System.out.print("C"); } @Override String sound() { return "meong " + super.sound(); } }, lalu di main: Cat c = new Cat(); System.out.println(" " + c.sound());
2.Class Order menulis public String tostring() { return "Order " + id; } tanpa @Override. Saat object Order dicetak, yang muncul justru Order@1b6d3586. Apa penyebab dan perbaikannya?
3.Di Java 25, statement mana yang boleh ditulis di constructor class turunan sebelum super(owner)?
4.Class PaymentGateway punya method final long fee(long amount). Apa yang terjadi bila class turunannya mencoba meng-override fee?
5.Relasi mana yang paling tepat dimodelkan dengan inheritance (extends)?

Jawab semua soal dulu (0/5)