java动物特性的面向对象描述 项目
发布网友
发布时间:2022-04-19 19:14
我来回答
共3个回答
热心网友
时间:2023-05-21 08:47
定义LandAnimal接口和WaterAnimal接口 ,只定义个接口好定义,只是你的题目用不到啊。(没水生和陆生啊)
下面是定义的ANIMAL类,实现了他们共有的属性。CAT,FROG没说出来啊,自己定义吧。
public class ANIMAL {
public String name;
public boolean mammal; // 哺乳动物
public boolean carnivorous;// 肉食动物
public String mood;
public int logs;
public void setName(String name) {
this.name = name;
}
public void setMammal(boolean mammal) {
if (mammal) {
System.out.println(name + "是哺乳动物");
} else {
System.out.println(name + "不是哺乳动物");
}
}
public void setCarnivorous(boolean carnivorous) {
if (carnivorous) {
System.out.println(name + "是肉食动物");
} else {
System.out.println(name + "不是肉食动物");
}
}
public void setMood(String mood1, String mood2, String mood3) {
System.out.println(name + "通常的情况下,和人打招呼的方式为:" + mood1);
System.out.println(name + "被*情绪好的时候,打招呼的方式是:" + mood2);
System.out.println(name + "烦躁的时候会:" + mood2);
}
public void setLogs(int logs){
System.out.println(name+"有"+logs+"条腿");
}
}
下面是 狗的那个类继承类ANIMAL:
public class Dog extends ANIMAL{
public Dog(){
}
public static void main(String[] args) {
ANIMAL dog = new Dog();
dog.setName("狗");//设置动物名字
dog.setMammal(true);//设置是否Mammal
dog.setCarnivorous(true);//设置是Carnivorous
dog.setMood("摇摇尾巴", "旺旺叫", "呜呜叫");//设置 在3种不同情况下的动作
dog.setLogs(4);
}
}
输出:
狗是哺乳动物
狗是肉食动物
狗通常的情况下,和人打招呼的方式为:摇摇尾巴
狗被*情绪好的时候,打招呼的方式是:旺旺叫
狗烦躁的时候会:旺旺叫
狗有4条腿
其他的动物 同样的原理。
补充:
public interface LandAnimal {
}
public interface WaterAnimal {
}
你的输出内容中 没用的到 (没有显示这两个接口有关信息,没有说明他是水生,陆生)
如果是狗的 那么直接 那个类 implements LandAnimal
public class Dog extends ANIMAL implements LandAnimal{}就行了 ,说明他是陆生的一种标志
这样就像 java.io.Serializable这个接口 ,一种标志。
热心网友
时间:2023-05-21 08:48
具体的对象:猫、狗、青蛙。关系:都属于动物,猫和狗属于陆生动物,青蛙属于水生。
所以应该有6个类:
动物、陆生动物、水生动物、猫、狗、青蛙。
陆生动物、水生动物继承动物类 ;猫、狗继承陆生动物类;青蛙继承水生动物类。
下面是代码
/**
* 动物抽象类
*
* @author haisheng
*
*/
public abstract class Animal {
public String creattype;//类别(哺乳、卵生)
public String eattype;//类别(肉食、杂食)
/**
* 正常行为
*/
public abstract void nomalAct();
/**
* 收到惊吓的行为
*/
public abstract void scaredAct();
}
/**
* 陆地动物
* @author haisheng
*
*/
public abstract class AnimalLand extends Animal{
/**
* 打招呼
*/
public abstract void hello();
/**
* 发声音
*/
protected void voice(String str){
System.out.println(str);
}
}
/**
* 水生动物
* @author haisheng
*
*/
public abstract class AnimalWater extends Animal{
}
/**
* 猫
* @author haisheng
*
*/
public class Cat extends AnimalLand {
public Cat() {
this.creattype="哺乳类";
this.eattype="肉食类";
}
@Override
public void nomalAct() {
voice("咕噜咕噜");
}
@Override
public void scaredAct() {
voice("嘶嘶");
}
@Override
public void hello() {
voice("喵~");
}
}
/**
* 狗
* @author xhaisheng@126.com
*
*/
public class Dog extends AnimalLand {
public Dog() {
this.creattype="哺乳类";
this.eattype="肉食类";
}
/**
* 摇尾巴
*/
public void wagTail(){
System.out.println("摇尾巴了");
}
@Override
public void nomalAct() {
voice("旺旺叫");
}
@Override
public void scaredAct() {
voice("呜呜");
}
@Override
public void hello() {
wagTail();
}
}
/**
* 青蛙
* @author haisheng
*
*/
public class Frog extends AnimalWater {
public Frog() {
this.creattype="卵生";
}
@Override
public void nomalAct() {
System.out.println("呱呱呱");
}
@Override
public void scaredAct() {
System.out.println("跳水了");
}
}
说明:AnimalWater类是个空的类没什么属性和方法,这个是便于系统以后扩展用的
热心网友
时间:2023-05-28 04:42
定义LandAnimal接口和WaterAnimal接口 ,只定义个接口好定义,只是你的题目用不到啊。(没水生和陆生啊)
下面是定义的ANIMAL类,实现了他们共有的属性。CAT,FROG没说出来啊,自己定义吧。
public class ANIMAL {
public String name;
public boolean mammal; // 哺乳动物
public boolean carnivorous;// 肉食动物
public String mood;
public int logs;
public void setName(String name) {
this.name = name;
}
public void setMammal(boolean mammal) {
if (mammal) {
System.out.println(name + "是哺乳动物");
} else {
System.out.println(name + "不是哺乳动物");
}
}
public void setCarnivorous(boolean carnivorous) {
if (carnivorous) {
System.out.println(name + "是肉食动物");
} else {
System.out.println(name + "不是肉食动物");
}
}
public void setMood(String mood1, String mood2, String mood3) {
System.out.println(name + "通常的情况下,和人打招呼的方式为:" + mood1);
System.out.println(name + "被*情绪好的时候,打招呼的方式是:" + mood2);
System.out.println(name + "烦躁的时候会:" + mood2);
}
public void setLogs(int logs){
System.out.println(name+"有"+logs+"条腿");
}
}
下面是 狗的那个类继承类ANIMAL:
public class Dog extends ANIMAL{
public Dog(){
}
public static void main(String[] args) {
ANIMAL dog = new Dog();
dog.setName("狗");//设置动物名字
dog.setMammal(true);//设置是否Mammal
dog.setCarnivorous(true);//设置是Carnivorous
dog.setMood("摇摇尾巴", "旺旺叫", "呜呜叫");//设置 在3种不同情况下的动作
dog.setLogs(4);
}
}
输出:
狗是哺乳动物
狗是肉食动物
狗通常的情况下,和人打招呼的方式为:摇摇尾巴
狗被*情绪好的时候,打招呼的方式是:旺旺叫
狗烦躁的时候会:旺旺叫
狗有4条腿
其他的动物 同样的原理。
补充:
public interface LandAnimal {
}
public interface WaterAnimal {
}
你的输出内容中 没用的到 (没有显示这两个接口有关信息,没有说明他是水生,陆生)
如果是狗的 那么直接 那个类 implements LandAnimal
public class Dog extends ANIMAL implements LandAnimal{}就行了 ,说明他是陆生的一种标志
这样就像 java.io.Serializable这个接口 ,一种标志。
热心网友
时间:2023-05-28 04:43
具体的对象:猫、狗、青蛙。关系:都属于动物,猫和狗属于陆生动物,青蛙属于水生。
所以应该有6个类:
动物、陆生动物、水生动物、猫、狗、青蛙。
陆生动物、水生动物继承动物类 ;猫、狗继承陆生动物类;青蛙继承水生动物类。
下面是代码
/**
* 动物抽象类
*
* @author haisheng
*
*/
public abstract class Animal {
public String creattype;//类别(哺乳、卵生)
public String eattype;//类别(肉食、杂食)
/**
* 正常行为
*/
public abstract void nomalAct();
/**
* 收到惊吓的行为
*/
public abstract void scaredAct();
}
/**
* 陆地动物
* @author haisheng
*
*/
public abstract class AnimalLand extends Animal{
/**
* 打招呼
*/
public abstract void hello();
/**
* 发声音
*/
protected void voice(String str){
System.out.println(str);
}
}
/**
* 水生动物
* @author haisheng
*
*/
public abstract class AnimalWater extends Animal{
}
/**
* 猫
* @author haisheng
*
*/
public class Cat extends AnimalLand {
public Cat() {
this.creattype="哺乳类";
this.eattype="肉食类";
}
@Override
public void nomalAct() {
voice("咕噜咕噜");
}
@Override
public void scaredAct() {
voice("嘶嘶");
}
@Override
public void hello() {
voice("喵~");
}
}
/**
* 狗
* @author xhaisheng@126.com
*
*/
public class Dog extends AnimalLand {
public Dog() {
this.creattype="哺乳类";
this.eattype="肉食类";
}
/**
* 摇尾巴
*/
public void wagTail(){
System.out.println("摇尾巴了");
}
@Override
public void nomalAct() {
voice("旺旺叫");
}
@Override
public void scaredAct() {
voice("呜呜");
}
@Override
public void hello() {
wagTail();
}
}
/**
* 青蛙
* @author haisheng
*
*/
public class Frog extends AnimalWater {
public Frog() {
this.creattype="卵生";
}
@Override
public void nomalAct() {
System.out.println("呱呱呱");
}
@Override
public void scaredAct() {
System.out.println("跳水了");
}
}
说明:AnimalWater类是个空的类没什么属性和方法,这个是便于系统以后扩展用的
热心网友
时间:2023-07-11 07:14
定义LandAnimal接口和WaterAnimal接口 ,只定义个接口好定义,只是你的题目用不到啊。(没水生和陆生啊)
下面是定义的ANIMAL类,实现了他们共有的属性。CAT,FROG没说出来啊,自己定义吧。
public class ANIMAL {
public String name;
public boolean mammal; // 哺乳动物
public boolean carnivorous;// 肉食动物
public String mood;
public int logs;
public void setName(String name) {
this.name = name;
}
public void setMammal(boolean mammal) {
if (mammal) {
System.out.println(name + "是哺乳动物");
} else {
System.out.println(name + "不是哺乳动物");
}
}
public void setCarnivorous(boolean carnivorous) {
if (carnivorous) {
System.out.println(name + "是肉食动物");
} else {
System.out.println(name + "不是肉食动物");
}
}
public void setMood(String mood1, String mood2, String mood3) {
System.out.println(name + "通常的情况下,和人打招呼的方式为:" + mood1);
System.out.println(name + "被*情绪好的时候,打招呼的方式是:" + mood2);
System.out.println(name + "烦躁的时候会:" + mood2);
}
public void setLogs(int logs){
System.out.println(name+"有"+logs+"条腿");
}
}
下面是 狗的那个类继承类ANIMAL:
public class Dog extends ANIMAL{
public Dog(){
}
public static void main(String[] args) {
ANIMAL dog = new Dog();
dog.setName("狗");//设置动物名字
dog.setMammal(true);//设置是否Mammal
dog.setCarnivorous(true);//设置是Carnivorous
dog.setMood("摇摇尾巴", "旺旺叫", "呜呜叫");//设置 在3种不同情况下的动作
dog.setLogs(4);
}
}
输出:
狗是哺乳动物
狗是肉食动物
狗通常的情况下,和人打招呼的方式为:摇摇尾巴
狗被*情绪好的时候,打招呼的方式是:旺旺叫
狗烦躁的时候会:旺旺叫
狗有4条腿
其他的动物 同样的原理。
补充:
public interface LandAnimal {
}
public interface WaterAnimal {
}
你的输出内容中 没用的到 (没有显示这两个接口有关信息,没有说明他是水生,陆生)
如果是狗的 那么直接 那个类 implements LandAnimal
public class Dog extends ANIMAL implements LandAnimal{}就行了 ,说明他是陆生的一种标志
这样就像 java.io.Serializable这个接口 ,一种标志。
热心网友
时间:2023-07-11 07:15
具体的对象:猫、狗、青蛙。关系:都属于动物,猫和狗属于陆生动物,青蛙属于水生。
所以应该有6个类:
动物、陆生动物、水生动物、猫、狗、青蛙。
陆生动物、水生动物继承动物类 ;猫、狗继承陆生动物类;青蛙继承水生动物类。
下面是代码
/**
* 动物抽象类
*
* @author haisheng
*
*/
public abstract class Animal {
public String creattype;//类别(哺乳、卵生)
public String eattype;//类别(肉食、杂食)
/**
* 正常行为
*/
public abstract void nomalAct();
/**
* 收到惊吓的行为
*/
public abstract void scaredAct();
}
/**
* 陆地动物
* @author haisheng
*
*/
public abstract class AnimalLand extends Animal{
/**
* 打招呼
*/
public abstract void hello();
/**
* 发声音
*/
protected void voice(String str){
System.out.println(str);
}
}
/**
* 水生动物
* @author haisheng
*
*/
public abstract class AnimalWater extends Animal{
}
/**
* 猫
* @author haisheng
*
*/
public class Cat extends AnimalLand {
public Cat() {
this.creattype="哺乳类";
this.eattype="肉食类";
}
@Override
public void nomalAct() {
voice("咕噜咕噜");
}
@Override
public void scaredAct() {
voice("嘶嘶");
}
@Override
public void hello() {
voice("喵~");
}
}
/**
* 狗
* @author xhaisheng@126.com
*
*/
public class Dog extends AnimalLand {
public Dog() {
this.creattype="哺乳类";
this.eattype="肉食类";
}
/**
* 摇尾巴
*/
public void wagTail(){
System.out.println("摇尾巴了");
}
@Override
public void nomalAct() {
voice("旺旺叫");
}
@Override
public void scaredAct() {
voice("呜呜");
}
@Override
public void hello() {
wagTail();
}
}
/**
* 青蛙
* @author haisheng
*
*/
public class Frog extends AnimalWater {
public Frog() {
this.creattype="卵生";
}
@Override
public void nomalAct() {
System.out.println("呱呱呱");
}
@Override
public void scaredAct() {
System.out.println("跳水了");
}
}
说明:AnimalWater类是个空的类没什么属性和方法,这个是便于系统以后扩展用的
热心网友
时间:2023-07-11 07:16
放弃吧。放弃吧。表学JAVA啦~~~~~~~~