Created
December 12, 2018 15:25
-
-
Save galihlprakoso/be1b89e9991bc09821e99494e60b30b3 to your computer and use it in GitHub Desktop.
Contoh polimorfisme pada java.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package galihlprakoso.com.polimorfisme; | |
/** | |
* | |
* @author galihlarasprakoso | |
*/ | |
abstract class BangunDatar { | |
abstract double hitungKeliling(); | |
abstract double hitungLuas(); | |
} | |
class Lingkaran extends BangunDatar{ | |
private double diameter; | |
private double jariJari; | |
private final double pi = 3.14159265358979323846; | |
public Lingkaran(double diameter){ | |
this.diameter = diameter; | |
this.jariJari = 0.5*diameter; | |
} | |
@Override | |
public double hitungKeliling() { | |
return 2*pi*jariJari; | |
} | |
@Override | |
public double hitungLuas() { | |
return pi*Math.pow(jariJari, 2); | |
} | |
} | |
class SegitigaSamaSisi extends BangunDatar{ | |
private double sisi; | |
public SegitigaSamaSisi(double sisi){ | |
this.sisi = sisi; | |
} | |
@Override | |
public double hitungKeliling() { | |
return sisi*3; | |
} | |
@Override | |
public double hitungLuas() { | |
return (Math.pow(sisi, 2)/4)*(Math.sqrt(3)); | |
} | |
} | |
class Persegi extends BangunDatar{ | |
private double sisi; | |
public Persegi(double sisi){ | |
this.sisi = sisi; | |
} | |
@Override | |
double hitungKeliling() { | |
return sisi*4; | |
} | |
@Override | |
double hitungLuas() { | |
return Math.pow(sisi,2); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Mataps mas