package javaOOP;
public class Cat extends Pet {
public void eat() {
System.out.println("猫猫在吃猫粮");
}
public void playqiu(){
System.out.println("猫猫在玩球");
}
}
package javaOOP;
public class Dog extends Pet{
public void eat(){
System.out.println("狗狗在吃狗粮");
}
public void feipan() {
System.out.println("狗狗在玩飞盘");
}
}
package javaOOP;
public class Master {
public void eat(Pet pet)
{
pet.eat();
}
public Pet getPet(int type){
Pet pet=null;
if (type==1) {
pet=new Dog();
}else if (type==2) {
pet=new Penguin();
}else if (type==3) {
pet=new Cat();
}
return pet;
}
public void play(Pet pet) {
if (pet instanceof Dog) {
Dog dog=(Dog) pet;
dog.feipan();
}else if (pet instanceof Cat) {
Cat cat =(Cat) pet;
cat.playqiu();
}
}
}
package javaOOP;
public class Penguin extends Pet{
public void eat() {
System.out.println("企鹅在吃东西");
}
}
/**
*
*/
package javaOOP;
/**
* @author Administrator
*
*/
public class Pet {
public void eat()
{
System.out.println("父类在吃东西");
}
}
package javaOOP;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// Dog dog=new Dog();
// //dog.eat();
// Penguin pen=new Penguin();
// // pen.eat();
// Cat cat=new Cat();
//
// Master master=new Master();
// master.eat(dog);
// master.eat(pen);
// master.eat(cat);
//
// System.out.println("请选择要购买的宠物(1.狗狗2.企鹅3.猫)");
// Scanner input=new Scanner(System.in);
// int xz=input.nextInt();
boolean flag=false;
// Master master2=new Master();
// Pet pets;
do {
System.out.println("请选择要购买的宠物(1.狗狗2.企鹅3.猫)");
Scanner input=new Scanner(System.in);
int xz=input.nextInt();
Master master2=new Master();
Pet pets;
switch (xz) {
case 1:
pets= master2.getPet(xz);
pets.eat();
continue;
case 2:
pets= master2.getPet(xz);
pets.eat();
continue;
case 3:
pets= master2.getPet(xz);
pets.eat();
break;
}
} while (flag);
}
}
JavaOOP 实现多态案列
最新推荐文章于 2022-03-30 17:06:44 发布