package OpenClosedPrinciple.one;
public interface ICource {
Integer getId();
String getName();
Double getPrice();
}
package OpenClosedPrinciple.one;
public class JavaCource implements ICource{
private int id;
private String name;
private double price;
public JavaCource(int id,String name,double price) {
this.id=id;
this.name=name;
this.price=price;
}
@Override
public Integer getId() {
return this.id;
}
@Override
public String getName() {
return this.name;
}
@Override
public Double getPrice() {
return this.price;
}
@Override
public String toString() {
return "id:"+this.getId()+"name:"+this.getName()+"price:"+this.getPrice();
}
}
package OpenClosedPrinciple.one;
public class JavaDiscountCource extends JavaCource{
public JavaDiscountCource(int id, String name, double price) {
super(id, name, price);
}
public double getOriginPrice() {
return super.getPrice();
}
public Double getPrice() {
return super.getPrice()*0.8;
}
@Override
public String toString() {
return "id:"+this.getId()+"name:"+this.getName()+"price:"+this.getPrice();
}
}
package OpenClosedPrinciple.one;
public class Test {
public static void main(String[] args) {
JavaCource javaCource=new JavaCource(001,"javaCource",88.88);
System.out.println(javaCource.toString());
JavaDiscountCource javaDiscountCource=new JavaDiscountCource(002,"javaDiscountCource",99.99);
System.out.println(javaDiscountCource.toString());
}
}