继承应用实例
- 实现一个化妆品类属性(name,type,price)
- 定义一个化妆品管理类。(1):实现进货功能(ADD)(2):可以输出所有化妆品信息功能
- 使用继承实现一个可按单价排序输出所有化妆品的功能
- 使用继承实现一个只输出进口化妆品的功能
import java.util.Arrays;
public class test1 {
public static void main(String[] args) {
ImportCosmeticManager cm = new ImportCosmeticManager();
cm.add(new Cosmetic("香奈儿","进口",1200));
cm.add(new Cosmetic("圣罗兰","进口",800));
cm.add(new Cosmetic("大宝","国产",14));
cm.add(new Cosmetic("万紫千红","进口",8));
cm.printInfo();
System.out.println("-------------------------------------------");
SortCosmeticManger cm1 = new SortCosmeticManger();
cm1.add(new Cosmetic("香奈儿","进口",1200));
cm1.add(new Cosmetic("圣罗兰","进口",800));
cm1.add(new Cosmetic("大宝","国产",14));
cm1.add(new Cosmetic("万紫千红","进口",8));
cm1.printInfo();
}
}
class ImportCosmeticManager extends CosmeticManager{
public void printInfo(){
for (int i = 0; i < count; i++) {
if ("进口".equals(cs[i].getType())) {
System.out.println(cs[i].toString());
}
}
}
}
class CosmeticManager{
protected Cosmetic[] cs = new Cosmetic[4];
protected int count = 0;
public void add(Cosmetic c){
if (count>= cs.length){
int newlen = cs.length*2;
cs = Arrays.copyOf(cs,newlen);
}
cs[count] = c;
count++;
}
public void printInfo(){
for (int i =0;i<count;i++){
System.out.println(cs[i].toString());
}
}
}
class Cosmetic{
private String nanme;
private String type;
private int price;
public Cosmetic() {
}
public Cosmetic(String nanme, String type, int price) {
this.nanme = nanme;
this.type = type;
this.price = price;
}
public String getNanme() {
return nanme;
}
public void setNanme(String nanme) {
this.nanme = nanme;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
@Override
public String toString() {
return "Cosmetic{" +
"nanme='" + nanme + '\'' +
", type='" + type + '\'' +
", price=" + price +
'}';
}
}
class SortCosmeticManger extends CosmeticManager{
public void printInfo(){
Cosmetic[] tempt = Arrays.copyOf(cs,count);
Cosmetic c = null;
for (int i =0;i<tempt.length-1;i++){
for (int j = 0; j<tempt.length-i-1;j++){
if (tempt[j].getPrice()>tempt[j+1].getPrice()){
c = tempt[j];
tempt[j] = tempt[j+1];
tempt[j+1] =c;
}
}
}
for (Cosmetic cosmetic:tempt){
System.out.println(cosmetic.toString());
}
}
}