PBO Modul2
PBO Modul2
Inheritance
Dosen Pengampu :
Disusun Oleh :
KELAS 2KS4
Berdasarkan diagram di atas, terdapat empat kelas, yaitu kelas Shape, Circle, Rectangle, dan
Square. Kelas Shape memiliki dua turunan, yaitu kelas Circle dan kelas Rectangle. Sama halnya
dengan kelas Rectangle yang juga memiliki turunan, yaitu kelas Square. Berikut adalah kelas
beserta kelas testing dan outputnya.
➢ Kelas Shape
public class Shape {
private String color;
private Boolean filled;
1
}
public Shape (String color, Boolean filled){// ketika user menginput color dan filled
this.color = color;// maka nilai yang diinput harus ditransfer ke variabel kelas terlebih
dahulu
this.filled = filled;
}
➢ Kelas Circle
public class Circle extends Shape {//extends disini artinya bahwa kelas Circle merupakan
subclass atau anak dari kelas Shape
private Double radius;// variabel radius bersifat private
2
public Circle (){// ketika user tidak menginput apapun
super ();// memanggil variabel pada kelas parent dalam kasus ini berarti variabel di
kelas Shape, yaitu color dan filled
radius = 1.0;// jika tidak ada inputan user, maka sistem akan otomatis membaca bahwa
radius = 1
}
public Circle (Double radius, String color, Boolean filled){// user menginput radius,
color, dan filled
super (color, filled);
this.radius = radius;
}
➢ Kelas Rectangle
public class Rectangle extends Shape {// kelas Ractangle merupakan turunan atau anak
dari kelas Shape
private Double width;// yang memiliki width
private Double length;// dan length
public Rectangle (Double width, Double length){// namun ketika user menginputkan
width dan length
super ();
this.width = width;// maka nilai width
this.length = length;// dan length perlu dikembalikan ke variabel kelas
}
public Rectangle (Double width, Double length, String color, Boolean filled){// ketika
user menginputkan width, length, color, dan filled
super (color,filled);
this.width = width;
this.length = length;
//maka keempat variabel tersebut perlu dikembalikan ke variabel kelas
}
4
public Double getWidth (){
return width;
}
5
➢ Kelas Square
public class Square extends Rectangle {// merupakan turunan dari kelas Rectangle
// yang memiliki variabel yang sama dengan parentnya, yang pada kasus ini parentnya
adalah kelass Rectangle
public Square (){// ketika user tidak menginput apapun
super (1.0, 1.0);// maka sistem akan dengan otomatis membaca bahwa width dan
lengthnya sesuai dengan default yang ada di kelas parentnya, yaitu 1
}
public Square (Double side, String color, Boolean filled){// ketika user menginput, side
sebagai width, side sebagai length, color, dan filled
super (side, side, color,filled);
}
6
}
7
➢ Kelas Testing Employee
import java.util.*;
Circle c2 = new Circle(2.0);// digunakan ketika user memberikan inputan besar radius
System.out.println("Circle: "
+ "Color = " + c2.getColor()
+ ", Filled = " + c2.isFilled()
+ ", Radius = " + c2.getRadius()
+ ", Area = " + c2.getArea()
+ ", Perimeter = " + c2.getPerimeter ());
Circle c4 = new Circle();// digunakan ketika ingin output sesuai dengan format
penulisan di toString
8
System.out.println(c4);
//menghitung persegi
Square s1 = new Square();//Digunakan ketika user tidak memberikan inputan apapun
System.out.println ("Square: "
+ "Color = " + s1.getColor()
+ ", Filled = " + s1.isFilled()
+ ", Width = " + s1.getWidth()
+ ", Length = " + s1.getLength()
+ ", Side = " +s1.getSide());
➢ Output
11
12