berikut akan sedikit dijelaskan tentang abstract class pada java.
• Class abstract dideklarasikan dengan kata kunci abtract ditulis sebelum kata kunci class
• Class abstract memiliki menimal satu method abstract
• Subclass dari class abstract harus mengoverride semua method abstract
• Class abstract tidak dapat dibuat instance, yang bisa hanya class concrete
contoh program menggunakan abstract class
Shape .java
————————————-begin————————————-
public abstract class Shape {
private String name;
Shape(String aName) {
name=aName;
}
public String getName() {
return name;
}
public abstract float calculateArea();
}
class Circle extends Shape {
private int radius;
Circle(String aName) {
super(aName);
radius = 3;
}
public float calculateArea() {
float area;
area = (float) (3.14 * radius * radius);
return area;
}
}
class Square extends Shape {
private int side;
Square(String aName) {
super(aName);
side = 3;
}
public float calculateArea() {
int area;
area = side * side;
return area;
}
}
—————————————–end————————–
ShapeTest.java
————————————-begin—————————
public class ShapeTest {
public static void main(String argv[]) {
Circle c = new Circle(“Circle C”);
Square s = new Square(“Square S”);
Triangle t = new Triangle(“Triangle T”);
Shape shapeArray[] = {c, s, t};
for (int i=0; i
System.out.println(“Area dari ” + shapeArray[i].getName()
+ ” is ” + shapeArray[i].calculateArea()+” sq. cm.\n”);
}
}
}
————————————end—————————
Triangle.java
———————————–begin————————
public class Triangle extends Shape{
private int alas,tinggi;
Triangle(String aName) {
super(aName);
alas = 5;
tinggi = 6;
}
@Override
public float calculateArea() {
float area;
area = (float) (0.5 * alas * tinggi);
return area;
}
}
—————————–end———————–
atau anda bisa langsung download 3 source code tersebut di :
3 Responses to “konsep dasar pemrograman java abstract class”
Sorry, the comment form is closed at this time.
apa mksud dari float calculateArea??? plisss bru bljr java niy
float calculate area adalah fungsi untuk menghitung luas. luas pada tiap2 “shape” yang berbeda… jawaban lain saya kirim ke email. 🙂 terima kasih.