继承的应用
来源:互联网 发布:阿里云软件市场分成 编辑:程序博客网 时间:2024/05/22 05:16
继承的应用
课程大纲
一、 定义一个内衣商城中的内衣管理
1、 定义一个内衣类
2、 定义一个内衣管理类(实现进货管理和输出所有内衣信息功能)
3、 使用继承实现一个可按单价排序输出所有内衣功能
4、 使用继承实现一个只输出女士内衣的功能
import java.util.Arrays;
/**
内衣管理
*/
/**
内衣管理
*/
class ExtendsDemo
{
public static void main(String[] args)
{
Underwear u1 = new Underwear("背心","男士",35.5f);
Underwear u2 = new Underwear("胸垫","女士",50.5f);
Underwear u3 = new Underwear("内裤","男士",135.5f);
Underwear u4 = new Underwear("内裤","女士",235.5f);
Underwear u5 = new Underwear("bra","女士",355.5f);
/*UnderwearManager um = new UnderwearManager();
um.add(u1);
um.add(u2);
um.add(u3);
um.add(u4);
um.add(u5);
Underwear[] us = um.getUnderwears();//返回的是数组
for(Underwear u:us )
{
System.out.println(u.getInfo());
}
*/
/*
System.out.println("---------排序子类------------");
PriceSortUnderwearManager um1 = new PriceSortUnderwearManager();
um1.add(u1);
um1.add(u2);
um1.add(u3);
um1.add(u4);
um1.add(u5);
Underwear[] us = um1.getUnderwears();//返回的是数组
for(Underwear u:us )
{
System.out.println(u.getInfo());
}
*/
System.out.println("-------------女士内衣子类----------------");
WomanUnderwearManager wm = new WomanUnderwearManager();
wm.add(u1);
wm.add(u2);
wm.add(u3);
wm.add(u4);
wm.add(u5);
Underwear[] us = wm.getUnderwears();
for(Underwear u: us){
System.out.println(u.getInfo());
}
{
public static void main(String[] args)
{
Underwear u1 = new Underwear("背心","男士",35.5f);
Underwear u2 = new Underwear("胸垫","女士",50.5f);
Underwear u3 = new Underwear("内裤","男士",135.5f);
Underwear u4 = new Underwear("内裤","女士",235.5f);
Underwear u5 = new Underwear("bra","女士",355.5f);
/*UnderwearManager um = new UnderwearManager();
um.add(u1);
um.add(u2);
um.add(u3);
um.add(u4);
um.add(u5);
Underwear[] us = um.getUnderwears();//返回的是数组
for(Underwear u:us )
{
System.out.println(u.getInfo());
}
*/
/*
System.out.println("---------排序子类------------");
PriceSortUnderwearManager um1 = new PriceSortUnderwearManager();
um1.add(u1);
um1.add(u2);
um1.add(u3);
um1.add(u4);
um1.add(u5);
Underwear[] us = um1.getUnderwears();//返回的是数组
for(Underwear u:us )
{
System.out.println(u.getInfo());
}
*/
System.out.println("-------------女士内衣子类----------------");
WomanUnderwearManager wm = new WomanUnderwearManager();
wm.add(u1);
wm.add(u2);
wm.add(u3);
wm.add(u4);
wm.add(u5);
Underwear[] us = wm.getUnderwears();
for(Underwear u: us){
System.out.println(u.getInfo());
}
}
}
/**
内衣类
*/
class Underwear
{
float price;
String name;
String sex;
public Underwear(String name,String sex,float price)
{
this.name = name;
this.sex = sex;
this.price = price;
}
public String getInfo()
{
return name+sex+",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-1;i++)
{
for(int j=0;j<us.length-1-i;j++)
if(us[j].price>us[j+1].price)
{
temp = us[j];
us[j] = us[j+1];
us[j+1] = temp;
}
}
return us;
}
/**
内衣类
*/
class Underwear
{
float price;
String name;
String sex;
public Underwear(String name,String sex,float price)
{
this.name = name;
this.sex = sex;
this.price = price;
}
public String getInfo()
{
return name+sex+",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-1;i++)
{
for(int j=0;j<us.length-1-i;j++)
if(us[j].price>us[j+1].price)
{
temp = us[j];
us[j] = us[j+1];
us[j+1] = temp;
}
}
return us;
}
}
//女士内衣管理
class WomanUnderwearManager extends UnderwearManager
{
//重写父类的方法
public Underwear[] getUnderwears()
{
Underwear[] src = super.getUnderwears();
//创建一个UnderwearManager对象用来存储女性内衣;
UnderwearManager um = new UnderwearManager();
for(int i =0;i<src.length;i++)
{
if("女士".equals(src[i].sex))
{
um.add(src[i]);
}
}
return um.getUnderwears();
}
}
//女士内衣管理
class WomanUnderwearManager extends UnderwearManager
{
//重写父类的方法
public Underwear[] getUnderwears()
{
Underwear[] src = super.getUnderwears();
//创建一个UnderwearManager对象用来存储女性内衣;
UnderwearManager um = new UnderwearManager();
for(int i =0;i<src.length;i++)
{
if("女士".equals(src[i].sex))
{
um.add(src[i]);
}
}
return um.getUnderwears();
}
}
0 0
- java_继承的应用
- 继承的应用
- Java-继承的应用
- 继承的应用
- 继承的一种应用
- 继承应用
- 继承应用
- 继承的理解与应用的方法
- c#继承的理解与应用
- 关于继承的应用小实例
- super,this,块,继承的应用实例
- 派生与继承的应用1
- 继承和派生的应用2
- 继承与派生的应用3
- 内部类的继承与应用示例
- JS继承——原型的应用
- Maven的高级应用--依赖,聚合,继承
- HttpServlet的生命周期和继承应用
- stm32f103 RTC周期性待机唤醒(一)
- POJ 2960.S-Nim【博弈论】【4月5】
- 跳转语句continue;break;return的区别
- CSS学习(五)——区块、浮动、定位、溢出、滚动条
- 如何用endnote引用论文
- 继承的应用
- 172. Factorial Trailing Zeroes
- 开发中犯的低级错误。。。
- c++ <new定位运算符>与<显式调用析构函数> - 练习题
- 纯css实现尖角图形
- LeetCode-16.3Sum Closest
- CSS样式设置--水平居中
- SDAU 1012
- java运行环境的配置