Java-examples
Phone.java
<geshi lang="java"> public class Phone { private double credit; Phone(double inCredit) { credit = inCredit; } public double getCredit() { return credit; } public void setCredit(double credit) { this.credit = credit; } public void call(double minute) { credit -= callCost(minute); } protected double callCost(double minute) { return 0; } } </geshi>
PrepaidPhone.java
<geshi lang="java"> public class PrepaidPhone extends Phone {
PrepaidPhone(double inCredit) { super(inCredit); }
protected double callCost(double minute) { if(minute <= 1) return 1; else return 1 + (minute - 1) * 0.5; } } </geshi>
PostpaidPhone.java
<geshi lang="java"> public class PostpaidPhone extends Phone {
PostpaidPhone(double inCredit) { super(inCredit); }
public double callCost(double minute) { return minute * 0.25; } } </geshi>