abstract class Titik{
/*kelas yang digunakan untuk mengimpelementasikan sebuah tipe titik*/
private int x; /*koordinat x*/
private int y; /*koordinat y*/
Titik(){
/*konstruktor*/
x = 0;
y = 0;
}
Titik(int xp, int yp){
/*konstruktor*/
x = xp;
y = yp;
}
public void setX(int xp){
/*mengeset nilai koordinat x*/
x = xp;
}
public int getX(){
/*mengembalikan nilai koordinat x*/
return x;
}
public void setY(int yp){
/*mengeset nilai koordinat y*/
y = yp;
}
public int getY(){
/*mengembalikan nilai koordinat y*/
return y;
}
public abstract void printTitik();
public void finalize(){
/*destruktor*/
}
}
class Titik3D extends Titik{
/*kelas turunan kelas Titik*/
private int z; /*koordinat z*/
Titik3D(){
/*konstruktor*/
z = 0;
}
Titik3D(int xp, int yp, int zp){
/*konstruktor*/
setX(xp);
setY(yp);
z = zp;
}
public void setZ(int zp){
/*mengeset nilai koordinat z*/
z = zp;
}
public int getZ(){
/*mengembalikan nilai koordinat z*/
return z;
}
public void printTitik(){
/*menampilkan nilai koordinat titik*/
System.out.println("nilai X : " + getX());
System.out.println("nilai Y : " + getY());
System.out.println("nilai Z : " + getZ());
}
}
class CobaTitik3DP{
/*metode main untuk mengetes kelas Titik dan kelas Titik3D*/
public static void main(String[] args) {
Titik3D t = new Titik3D(0, 0, 7);
t.setX(28);
t.setY(1);
t.printTitik();
Titik t1;
System.out.println("====================");
t1 = t;
t1.printTitik();
}
}