java复习——继承应用

xiaoxiao2021-02-28  69

实现一个内衣商城中的内衣管理类 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(); } }
转载请注明原文地址: https://www.6miu.com/read-48718.html

最新回复(0)