java复习——继承应用

来源:互联网 发布:电脑应用程序加密软件 编辑:程序博客网 时间:2024/06/05 19:08

实现一个内衣商城中的内衣管理类
1.定义一个内衣类
2.定义一个内衣管理类
(1)实现进货功能
(2)可以输出所有内衣信息功能
3.使用继承实现一个可按单价排序输出所有内衣的功能
4.使用继承实现一个只输出女士内衣的功能

import java.util.Arrays;/** *  * 继承应用 * */public class ExtendsDemo {    public static void main(String[] args){        Underwear u1 = new Underwear("男士", "背心", 35.5f);        Underwear u2 = new Underwear("女士", "胸垫", 98.0f);        Underwear u3 = new Underwear("男士", "内裤", 188.8f);        Underwear u4 = new Underwear("女士", "内裤", 298.0f);        Underwear u5 = new Underwear("女士", "bra", 58.0f);        UnderwearManager um1 = new UnderwearManager();        um1.add(u1);        um1.add(u2);        um1.add(u3);        um1.add(u4);        um1.add(u5);        Underwear[] us1 = um1.getUnderwears();        for(Underwear u: us1){            System.out.println(u.getInfo());        }        System.out.println("-------------排序子类------------");        //排序子类        PriceSortUnderwearManager ps = new PriceSortUnderwearManager();        ps.add(u1);        ps.add(u2);        ps.add(u3);        ps.add(u4);        ps.add(u5);        Underwear[] us2 = ps.getUnderwears();        for(Underwear u: us2){            System.out.println(u.getInfo());        }        System.out.println("------------女士内衣管理类------------");        //女士内衣管理类        WomenUnderwearManager wm = new WomenUnderwearManager();        wm.add(u1);        wm.add(u2);        wm.add(u3);        wm.add(u4);        wm.add(u5);        Underwear[] u6 = wm.getUnderwears();        for(Underwear u: u6){            System.out.println(u.getInfo());        }    }}/** * 内衣类 */class Underwear{     float price;//单价     String name;//名称     String sex;//男士或女士     public Underwear(String sex, String name, float price){         this.sex = sex;         this.name = name;         this.price = price;     }     public String getInfo(){         return sex + name + ", RMB" + price;     }}/** * 内衣管理类 */class UnderwearManager{    private Underwear[] underwears = new Underwear[3];    private int count;//记录当前内衣数量,计数器    //添加内衣功能,实现进货功能    public void add(Underwear u){        if(count >= underwears.length){            //数组动态扩展            int newlen = (underwears.length * 3) / 2 + 1;            underwears = Arrays.copyOf(underwears, newlen);        }        underwears[count] = u;        count++;    }    //输出所有内衣的信息    public Underwear[] getUnderwears(){        Underwear[] us = new Underwear[count];        for(int i = 0; i < us.length; ++i){            us[i] = underwears[i];        }        return us;    }}//实现按单价排序的字类class PriceSortUnderwearManager extends UnderwearManager{    //重写父类方法    public Underwear[] getUnderwears(){        Underwear[] us = super.getUnderwears();        Underwear temp = null;//临时交换变量        for(int i = 0; i < us.length; ++i){            for(int j = 0; j < us.length - i - 1; ++j){                if(us[j].price > us[j].price){                    temp = us[j];                    us[j] = us[j + 1];                    us[j + 1] = temp;                }            }        }        return us;    }}//女士内衣管理类class WomenUnderwearManager extends UnderwearManager{    //重写父类方法    public Underwear[] getUnderwears(){        Underwear[] u = super.getUnderwears();        //创建一个UnderwearManager对象,用于存储女士内衣        UnderwearManager um = new UnderwearManager();        for(int i = 0; i < u.length; ++i){            if("女士".equals(u[i].sex))                um.add(u[i]);        }        return um.getUnderwears();    }}
0 0
原创粉丝点击