美文网首页
继承示例

继承示例

作者: 临木有希 | 来源:发表于2018-08-12 20:12 被阅读0次
/**
    继承的应用示例
实现一个化妆品商城中的化妆品管理
1、定义一个化妆品类( Cosmetic)
2、定义一个化妆品管理类(CosmeticManager)
   (1)实现进货功能
   (2)可以输出所有化妆品信息功能
3、使用继承实现一个可按单价排序输出所有化妆品的功能
4、使用继承实现一个只输出进口化妆品的功能
*/

public class Test2 {
    public static void main(String[]args){
        ImportCosmeticManager cm = new ImportCosmeticManager();
        cm.add(new Cosmetic("香奈儿","进口",1500));
        cm.add(new Cosmetic("圣罗兰","进口",1300));
        cm.add(new Cosmetic("娇韵诗","进口",1200));
        cm.add(new Cosmetic("兰蔻","进口",1000));
        cm.printInfo();
        
    }
}

//可输出进口化妆品的管理类
class ImportCosmeticManager extends CosmeticManager{
    public void printInfo(){
        //比较两个字符串的值是否相等,不能使用==,使用equals()
        for(int i=0;i<count;i++){
            if("进口".equals(cs[i].getType())){
                System.out.println(cs[i].getInfo());
            }
        }
    }
}
//可按单价排序的化妆品管理类
class SortCosmeticManager extends CosmeticManager{
    //排序输出所有产品
    public void printInfo(){
        Cosmetic[] temp = java.util.Arrays.copyOf(cs,count);
        System.out.println(temp.length);
        
        Cosmetic c = null;
        for(int i=0;i<temp.length-1;i++){
            for(int j=0;j<temp.length-i-1;j++){
                if(temp[j].getPrice()>temp[j+1].getPrice()){
                    c=temp[j];
                    temp[j]=temp[j+1];
                    temp[j+1]=c;
                }
            }
            
        }
        for(Cosmetic cosmetic: temp){
            System.out.println(cosmetic.getInfo());
        }
        
    }
}
//化妆品管理类
class CosmeticManager{
    
    protected Cosmetic[] cs = new Cosmetic[4];
    protected int count =0;
    //进货功能
    public void add(Cosmetic c){
        int size = cs.length;
        if(count>=size){
            int newLen = size*2;
            cs = java.util.Arrays.copyOf(cs,newLen);
        }
        cs[count] = c;
        count++;
    }
    
    //输出所有产品
    public void printInfo(){
        for(int i=0;i<count;i++){
            System.out.println(cs[i].getInfo());
        }
    }
}

class Cosmetic{
    
    private String name;//品牌
    private String type;//进口或国产
    private int price;//单价
    public Cosmetic(){}
    public Cosmetic(String name,String type,int price){
        this.name = name;
        this.type = type;
        this.price = price;
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
    public void setType(String type){
        this.type = type;
    }
    public String getType(){
        return type;
    }
    public void setPrice(int price){
        this.price = price;
    }
    public int getPrice(){
        return price;
    }
    public String getInfo(){
        return "name="+name+",type="+type+",price="+price;
    }
}
image.png image.png

相关文章

  • 继承示例

  • day17-pygame

    1.复习(补充) 代码示例 补充1:抛出异常 代码示例 运行结果 补充2:多继承 代码示例 注意:多继承的时候,只...

  • 10.22 pygame

    1.复习(补充) 代码示例 补充1:抛出异常 代码示例 运行结果 补充2:多继承 代码示例 注意:多继承的时候,只...

  • js继承的方式

    原型链继承代码示例: 这个示例是让Son继承Father的实例/原型链属性/方法。 Son.prototype =...

  • Java之继承

    继承的概念 继承的格式 继承示例 继承中成员变量的访问特点 继承中成员方法的访问特点

  • PHP使用静态属性和静态方法为API接口提供信息提示!

    ErrorMessage.class.php 文件内容: 调用示例: 实例化对象调用示例: 继承父类: 调用示例:

  • (四)接口

    1.接口继承 接口继承需要用 implements类继承用extend 2.接口示例 interface(父类) ...

  • [sass/scss]继承示例

    scss代码: 编译后得到的css代码:

  • iOS开发之UI篇(8)—— UITextField

    版本Xcode 9.1 基本用法 继承关系: 示例: 示例效果: 示例中的一些属性枚举: 键盘类型图示: UIKe...

  • ★04.关于委托构造函数

    简单示例 普通情况 继承中 注意事项 委托构造函数与继承中的继承构造函数非同一概念。

网友评论

      本文标题:继承示例

      本文链接:https://www.haomeiwen.com/subject/qbhebftx.html