wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

PBO Inheritance Episode 2

Total questions: 18

Worksheet time: 14mins

Name
Class
Date
1.

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?

a)

120

b)

180

c)

120 dan 180

d)

semua salah

2.

Manakah di bawah ini yang bukan konteks penggunaan keyword super dalam Java?

a)

konstruktor

b)

variabel

c)

method

d)

kelas

3.

Manakah pernyataan di bawah ini yang salah?

a)

Method overriding harus mempunyai return type yang sama

b)

Method yang diset private tidak bisa dilakukan overriding

c)

Overrriding adalah salah satu bentuk run time polymorphism

d)

Kita bisa override konstruktor sebagai parent

4.

Reusability, peningkatan fleksibilitas dan data hiding adalah manfaat dari ....

a)

Abstraksi

b)

Enkapsulasi

c)

Polimorfisme

d)

Pewarisan

5.

Keyword yang digunakan untuk inheritance adalah ...

a)

super

b)

extend

c)

extends

d)

inherit

6.

Implementation hiding sering dikenal sebagai ...

a)

pewarisan

b)

enkapsulasi

c)

abstraksi data

d)

polimorfisme

7.

Di bawah ini keuntungan abstraksi data kecuali ...

a)

mengurangi kompleksitas melihat sesuatu

b)

mencegah duplikasi kode

c)

menurunkan reusabiity

d)

meningkatkan keamanan

8.

Manakah pernyataan yang salah di bawah ini?

a)

Method di superclass bisa diatur sehingga tidak bisa di-override

b)

Subclass boleh memiliki method lebih banyak dari superclass

c)

Untuk nama method yang sama, isi method di superclass dan subclass harus sama agar tidak terjadi error saat kompilasi

d)

Superclass dapat menspesifikasikan method untuk subclass-nya

9.

Manakah pernyataan di bawah ini yang benar?

a)

Keyword yang digunakan agar sebuah method tidak di-override oleh sebuah sub class adalah super

b)

Dalam enkapsulasi, method harus diset private

c)

Dalam enkapsulasi, atribut pada dasarnya bisa tidak tersembunyi untuk memudahkan proses kompilasi

d)

Override dapat terjadi pada sebuah method

10.

Manakah di bawah ini pernyataan yang salah?

a)

Final method tidak bisa di-override

b)

Private method tidak bisa di-override

c)

Kita tidak bisa meng-override konstruktor sebagai parent

d)

Nama konstruktor tak harus sama dengan nama kelasnya

11.

Perhatikan kode di bawah ini:


class Parent {

final void show() {}

}

class Child extends Parent {

void show() {}

}


Jika kode di atas dijalankan, apa yang terjadi?

a)

Terjadi proses inheritance

b)

Terjadi proses enkapsulasi

c)

Terjadi error

d)

Terjadi polimorfisme

12.

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

a)

3

b)

100

c)

25

d)

Salah semua

13.

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

a)

25

b)

3

c)

100

d)

125

14.

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

a)

100

b)

3

c)

semua salah

d)

25

15.

Keyword yang digunakan agar sebuah method tidak di-override adalah

a)

final

b)

super

c)

@override

d)

semua salah

16.

Jika sebuah kelas diberi keyword final maka ...

a)

Kelas itu tidak dapat diturunkan (diwariskan)

b)

Kelas itu tida kdapat di-override

c)

Kelas dapat dienkapsulasi

d)

Semau salah karena kelas tidak bisa diberi keyword final

17.

Menyembunyikan implementasi internal dikenal dengan nama...

a)

abstraksi

b)

enkapsulasi

c)

pewarisan

d)

overriding

18.

Maakah pernyataan di bawah ini yang salah

a)

Ada sisi perbedaan antara abstracti dan interface

b)

Abstract dan interface sama-sama digunakan untuk abstraksi

c)

Sebuah subclass tidak bisa melakukan override parsial

d)

Mendeklarasikan final ke sebuah kelas berarti mendeklarasika final ke semua method-nya