有个关于java多态与接口的题想请高手帮忙给解答一下
发布网友
发布时间:2022-04-11 04:53
我来回答
共2个回答
懂视网
时间:2022-04-11 09:15
系统启动:显示宠物主人、宠物、商店信息,
登录:商店、主人
宠物主人:购买宠物
卖出宠物
宠物商店:购买宠物
卖出宠物
培育宠物
查询待售宠物
查看商店结余
查看商店账目
开宠物商店
开发环境:JDK1.7 、MyEclipse10、MySQL5.5。
流程图
DAO接口和实现类
业务接口和实现类定义
实体联系图
java、数据库----宠物商店
标签:text 需求 java strong 登录 显示 流程 alt spl
热心网友
时间:2022-04-11 06:23
/** 宠物商店 **/
public class ZooShop {
//宠物列表
private List<Anima> animalList =new ArrayList<Anima>();
//最大动物数
private int animaMaxSize=0;
/** 创建商店(无数量限止) **/
public ZooShop(){};
/**
* 创建商店(有数量限止,由用户指定)
* @param animaSize 最大宠物数
*/
public ZooShop(int animaMaxSize){
this.animaMaxSize=animaMaxSize;
}
/**
* 增加一个宠物
* @param anima
*/
public void addAnima(Anima anima){
if(animaMaxSize >0 && animalList.size()>=animaMaxSize){
System.out.println("超出商店最大容纳数:"+anima.getName());
return;
}
System.out.println("增加成功:"+anima.getName());
animalList.add(anima);
}
/**
* 根据宠物名查询宠物信息
* @param name 宠物名
*/
public void queryAnimaInfo(String name){
for(int i=0;i<animalList.size();i++){
Anima anima=animalList.get(i);
if(anima.getName().equals(name)){
System.err.println("--------------动物信息---------------");
System.err.println("宠物类别:"+anima.getClass().getName());
System.err.println("宠物名:"+anima.getName());
System.err.println("年龄:"+anima.getAge());
System.err.println("颜色:"+anima.getColor().toString());
if(anima instanceof Dog){
((Dog)anima).eat();
}else if(anima instanceof Cat){
((Cat)anima).meow();
}
break;
}
}
}
public static void main(String[] args) {
//无参商店无数量限止,有参商店需指定最大数量
//ZooShop zooShop=new ZooShop();
ZooShop zooShop=new ZooShop(3);
zooShop.addAnima(new Dog("dog1",2,"黑白斑点"));
zooShop.addAnima(new Dog("dog2",3,"黑色"));
zooShop.addAnima(new Cat("cat1",2,"白色"));
zooShop.addAnima(new Cat("cat2",2,"灰色"));
zooShop.queryAnimaInfo("dog2");
zooShop.queryAnimaInfo("cat1");
}
}
/**
* 狗(继承动物)
* @author Administrator
*
*/
class Dog implements Anima{
private String name;
private String color;
private int age;
public Dog(String name,int age,String color){
this.name=name;
this.age=age;
this.color=color;
}
//狗的特性之一
public void eat(){
System.err.println("小狗啃骨头");
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getColor() {
return color;
}
}
/**
* 猫(继承动物)
* @author Administrator
*
*/
class Cat implements Anima{
private String name;
private String color;
private int age;
public Cat(String name,int age,String color){
this.name=name;
this.age=age;
this.color=color;
}
//猫的特性之一
public void meow(){
System.err.println("小猫喵喵叫");
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getColor() {
return color;
}
}
/** 动物接口类 **/
interface Anima{
public String getName();
public int getAge();
public String getColor();
}
接口多态,与类的多态类似
java的多态感觉很难理解啊···哪位高手能和我讲解一下?谢谢
1、要有继承(或实现接口)2、要有方法的重写 3、要有父类引用指向子类对象 第一个相信你已经掌握继承与接口了吧 第二个重写对于你来说也是小菜 第三个父类引用指向子类对象,例如:Person p=new student();这就叫父类(Person)的引用p指向子类对象student,因为真正new的对象是student!为什么多...
java题目,请高手帮忙解决。
假设一个张三,一个李四,可能他们说话,吃东西方法类似,但是他们的姓名,年龄 性别等不一定是相同的,这就是一个类的具体的一个对象 Java的命名习惯:1、包名中的字母一律小写。xxxyyyzzz 2、类名、接口名应当使用名词,每个单词的首字母大写。XxxYyyZzz 3、方法名,第一个单词小写,后面每个单词的首字...
求一些JAVA基础的程序练习题目~~~
• 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? • try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? • 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结...
php中多态的问题,接口的调用问题
1、设计接口USB,定义三个动作(函数);2、类Upan和FengShan分别实现了USB接口(要实现接口类中定义的函数);3、定义DianNao类,类中函数useUSB的参数$usb,可以调用函数,说明此函数为一个类的实例;4、定义Worker类,类中函数install分别实例化DianNao、Upan、FengShan类。调用DianNao类的useUSB函数,...
java语言基础的问题
java 是现在流行的高级语言的一种。它的特点是支持面向对象、可移植性、安全性都比较好。一个java程序首先通过编译器把源代码编译为字节码(bytecode)的机器语言,然后在虚拟机中解释执行。为了方便移植,java是不生成exe(windows下的excecutable可执行文件)的,这样就可以在windows之外的系统中运行。至...
求java基础习题!
JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允...
请高手帮忙看一下我的类定义是否正确?谢谢,!!!
double Area(); 重复那么多,是不对的。double GetArea(),这个可以定义成虚函数,这里不实现它,而由CGraphicArea 的派生类(三角形,矩形,梯形)等,去实现它 派生类都实现这个GetArea(),不同的派生类,使用不同的实现方法,这就是多态性 不清楚楼主说的“函数命都不一样”是指什么?
java中父类对象引用指向子类对象
1 接口 和 实现接口并覆盖接口中同一方法的几不同的类体现的 2 父类 和 继承父类并覆盖父类中同一方法的几个不同子类实现的.一、基本概念 多态性:发送消息给某个对象,让该对象自行决定响应何种行为。 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。 java 的这种机制遵循一个原则:当超类对象引用...
小菜向学过C的前辈请教个国际性的问题(呵呵,夸张了吗??)
在这期间你还要学会数据库SQL或者Oracle如果想向网络方面发展就还要学些asp的基本知识。学java会接触到接口这个概念一样很重要,书一定要买J2EE这是开发网站(B/S架构)和单机应用程序(C/S架构)的,J2ME是编写手机程序的。因为我不知道你到底要以学什么语言为目标我就再告诉你个语言c#这是.net的基础...
JAVA程序设计课程作业,请高手帮忙啊
11.B 这个题目怎么说呢,如果父类有private成员,则子类虽然继承到了这个成员,但是无法访问它,不知道这算不算子类成员,这里如果算,那么是对的,如果不算,就是错误 12.A java.lang是包名!应该是java.lang.Object 13.A 刚好说反了 14.B 15.B 接口中只能有抽象方法,且不用显示的修饰为...