NEW
Font size
WorksheetsPBO Inheritance Episode 2
Total questions: 18
Worksheet time: 14mins
Perhatikan kode berikut.
class Vehicle
{
int maxSpeed = 120;
}
class Car extends Vehicle
{
int maxSpeed = 180;
void display() {
System.out.println("Maximum Speed: " + super.maxSpeed);
}
}
/* Driver program to test */
class Test
{
public static void main(String[] args)
{
Car small = new Car(); small.display();
}
}
Pada output program, berapa nilai maksimum speed yang ditampilkan?
120
180
120 dan 180
semua salah
Manakah di bawah ini yang bukan konteks penggunaan keyword super dalam Java?
konstruktor
variabel
method
kelas
Manakah pernyataan di bawah ini yang salah?
Method overriding harus mempunyai return type yang sama
Method yang diset private tidak bisa dilakukan overriding
Overrriding adalah salah satu bentuk run time polymorphism
Kita bisa override konstruktor sebagai parent
Reusability, peningkatan fleksibilitas dan data hiding adalah manfaat dari ....
Abstraksi
Enkapsulasi
Polimorfisme
Pewarisan
Keyword yang digunakan untuk inheritance adalah ...
super
extend
extends
inherit
Implementation hiding sering dikenal sebagai ...
pewarisan
enkapsulasi
abstraksi data
polimorfisme
Di bawah ini keuntungan abstraksi data kecuali ...
mengurangi kompleksitas melihat sesuatu
mencegah duplikasi kode
menurunkan reusabiity
meningkatkan keamanan
Manakah pernyataan yang salah di bawah ini?
Method di superclass bisa diatur sehingga tidak bisa di-override
Subclass boleh memiliki method lebih banyak dari superclass
Untuk nama method yang sama, isi method di superclass dan subclass harus sama agar tidak terjadi error saat kompilasi
Superclass dapat menspesifikasikan method untuk subclass-nya
Manakah pernyataan di bawah ini yang benar?
Keyword yang digunakan agar sebuah method tidak di-override oleh sebuah sub class adalah super
Dalam enkapsulasi, method harus diset private
Dalam enkapsulasi, atribut pada dasarnya bisa tidak tersembunyi untuk memudahkan proses kompilasi
Override dapat terjadi pada sebuah method
Manakah di bawah ini pernyataan yang salah?
Final method tidak bisa di-override
Private method tidak bisa di-override
Kita tidak bisa meng-override konstruktor sebagai parent
Nama konstruktor tak harus sama dengan nama kelasnya
Perhatikan kode di bawah ini:
class Parent {
final void show() {}
}
class Child extends Parent {
void show() {}
}
Jika kode di atas dijalankan, apa yang terjadi?
Terjadi proses inheritance
Terjadi proses enkapsulasi
Terjadi error
Terjadi polimorfisme
Perhatikan kode berikut.
class Bicycle
{
public int gear;
public int speed;
public Bicycle(int gear, int speed)
{
this.gear = gear;
this.speed = speed;
}
public void applyBrake(int decrement)
{
speed -= decrement;
}
public void speedUp(int increment)
{
speed += increment;
}
public String toString()
{
return("No of gears are "+gear
+"\n"
+ "speed of bicycle is "+speed);
}
}
// derived class
class MountainBike extends Bicycle
{
public int seatHeight;
public MountainBike(int gear,int speed,
int startHeight)
{
super(gear, speed);
seatHeight = startHeight;
}
public void setHeight(int newValue)
{
seatHeight = newValue;
}
@Override
public String toString()
{
return (super.toString()+
"\nseat height is "+seatHeight);
}
}
// driver class
public class Test
{
public static void main(String args[])
{
MountainBike mb = new MountainBike(3, 100, 25);
System.out.println(mb.toString());
}
}
Ketika dijalankan, nilai yang ditampilkan untuk no of gears adalah
3
100
25
Salah semua
Perhatikan kode berikut.
class Bicycle
{
public int gear;
public int speed;
public Bicycle(int gear, int speed)
{
this.gear = gear;
this.speed = speed;
}
public void applyBrake(int decrement)
{
speed -= decrement;
}
public void speedUp(int increment)
{
speed += increment;
}
public String toString()
{
return("No of gears are "+gear
+"\n"
+ "speed of bicycle is "+speed);
}
}
// derived class
class MountainBike extends Bicycle
{
public int seatHeight;
public MountainBike(int gear,int speed,
int startHeight)
{
super(gear, speed);
seatHeight = startHeight;
}
public void setHeight(int newValue)
{
seatHeight = newValue;
}
@Override
public String toString()
{
return (super.toString()+
"\nseat height is "+seatHeight);
}
}
// driver class
public class Test
{
public static void main(String args[])
{
MountainBike mb = new MountainBike(3, 100, 25);
System.out.println(mb.toString());
}
}
Ketika dijalankan, nilai yang ditampilkan untuk "speed of bicycle" adalah
25
3
100
125
Perhatikan kode berikut.
class Bicycle
{
public int gear;
public int speed;
public Bicycle(int gear, int speed)
{
this.gear = gear;
this.speed = speed;
}
public void applyBrake(int decrement)
{
speed -= decrement;
}
public void speedUp(int increment)
{
speed += increment;
}
public String toString()
{
return("No of gears are "+gear
+"\n"
+ "speed of bicycle is "+speed);
}
}
// derived class
class MountainBike extends Bicycle
{
public int seatHeight;
public MountainBike(int gear,int speed,
int startHeight)
{
super(gear, speed);
seatHeight = startHeight;
}
public void setHeight(int newValue)
{
seatHeight = newValue;
}
@Override
public String toString()
{
return (super.toString()+
"\nseat height is "+seatHeight);
}
}
// driver class
public class Test
{
public static void main(String args[])
{
MountainBike mb = new MountainBike(3, 100, 25);
System.out.println(mb.toString());
}
}
Ketika dijalankan, nilai yang ditampilkan untuk"seat height" adalah ..
100
3
semua salah
25
Keyword yang digunakan agar sebuah method tidak di-override adalah
final
super
@override
semua salah
Jika sebuah kelas diberi keyword final maka ...
Kelas itu tidak dapat diturunkan (diwariskan)
Kelas itu tida kdapat di-override
Kelas dapat dienkapsulasi
Semau salah karena kelas tidak bisa diberi keyword final
Menyembunyikan implementasi internal dikenal dengan nama...
abstraksi
enkapsulasi
pewarisan
overriding
Maakah pernyataan di bawah ini yang salah
Ada sisi perbedaan antara abstracti dan interface
Abstract dan interface sama-sama digunakan untuk abstraksi
Sebuah subclass tidak bisa melakukan override parsial
Mendeklarasikan final ke sebuah kelas berarti mendeklarasika final ke semua method-nya
