package test;
import java.util.Scanner;
public class AnimalFactory15 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入动物类型:1 小狗 2 小 猫 3 兔子");
int n = sc.nextInt();
switch (n) {
case 1:
Dog15 dog = new Dog15("小狗",4);
dog.makeSound15();
break;
case 2:
Cat15 cat = new Cat15("小狗",4);
cat.makeSound15();
break;
case 3:
Rabbit15 rabbit = new Rabbit15("小狗",4);
rabbit.makeSound15();
break;
default:
System.out.println("輸入錯誤~~");
break;
}
}
}
package test;
public abstract class Animal15 {
private String name;
private int age;
abstract void makeSound15();
public Animal15() {
super();
}
public Animal15(String nane, int age) {
super();
this.name = nane;
this.age = age;
}
public String getNane() {
return name;
}
public void setNane(String nane) {
this.name = nane;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package test;
public class Cat15 extends Animal15{
@Override
void makeSound15() {
// TODO Auto-generated method stub
System.out.println(getNane()+":喵喵~~");
}
public Cat15() {
super();
// TODO Auto-generated constructor stub
}
public Cat15(String nane, int age) {
super(nane, age);
// TODO Auto-generated constructor stub
}
}
package test;
public class Dog15 extends Animal15{
@Override
void makeSound15() {
// TODO Auto-generated method stub
System.out.println(getNane()+":汪汪~~");
}
public Dog15() {
super();
// TODO Auto-generated constructor stub
}
public Dog15(String nane, int age) {
super(nane, age);
// TODO Auto-generated constructor stub
}
}
package test;
public class Rabbit15 extends Animal15 {
@Override
void makeSound15() {
// TODO Auto-generated method stub
System.out.println(getNane()+":haha~~");
}
public Rabbit15() {
super();
// TODO Auto-generated constructor stub
}
public Rabbit15(String nane, int age) {
super(nane, age);
// TODO Auto-generated constructor stub
}
}