面向对象—猫狗案例

发布时间 2023-12-28 16:55:46作者: 王闯wangchuang2017

面向对象—猫狗案例

/*
	猫狗案例讲解
	
	先找到具体的事物,然后发现具体的事物有共性,才提取出一个父类。
	
	猫:
		成员变量:姓名,年龄,颜色
		构造方法:无参,带参
		成员方法:
			getXxx()/setXxx()
			eat()
			palyGame()
	狗:
		成员变量:姓名,年龄,颜色
		构造方法:无参,带参
		成员方法:
			getXxx()/setXxx()
			eat()
			lookDoor()
			
	共性:
		成员变量:姓名,年龄,颜色
		构造方法:无参,带参
		成员方法:
			getXxx()/setXxx()
			eat()
			
	把共性定义到一个类中,这个类的名字叫:动物。
	动物类:
		成员变量:姓名,年龄,颜色
		构造方法:无参,带参
		成员方法:
			getXxx()/setXxx()
			eat()
			
		猫:	
			构造方法:无参,带参
			成员方法:palyGame()
		狗:
			构造方法:无参,带参
			成员方法:lookDoor()
*/
//定义动物类
class Animal {
	//姓名
	private String name;
	//年龄
	private int age;
	//颜色
	private String color;
	
	public Animal() {}
	
	public Animal(String name,int age,String color) {
		this.name = name;
		this.age = age;
		this.color = color;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public int getAge() {
		return age;
	}
	
	public void setAge(int age) {
		this.age = age;
	}
	
	public String getColor() {
		return color;
	}
	
	public void setColor(String color) {
		this.color = color;
	}
	
	public void eat() {
		System.out.println("不要睡了,该吃饭了");
	}
}

//定义猫类
class Cat extends Animal {
	public Cat() {}
	
	public Cat(String name,int age,String color) {
		super(name,age,color);
	}
	
	public void playGame() {
		System.out.println("猫玩英雄联盟");
	}
}

//定义狗类
class Dog extends Animal {
	public Dog() {}
	
	public Dog(String name,int age,String color) {
		super(name,age,color);
	}
	
	public void lookDoor() {
		System.out.println("狗看家");
	}
}

//测试类
class ExtendsTest5 {
	public static void main(String[] args) {
		//测试猫
		//方式1
		Cat c1 = new Cat();
		c1.setName("Tom");
		c1.setAge(3);
		c1.setColor("白色");
		System.out.println("猫的名字是:"+c1.getName()+";年龄是:"+c1.getAge()+";颜色是:"+c1.getColor());
		c1.eat();
		c1.playGame();
		System.out.println("---------------");
		
		//方式2
		Cat c2 = new Cat("杰瑞",5,"土豪金");
		System.out.println("猫的名字是:"+c2.getName()+";年龄是:"+c2.getAge()+";颜色是:"+c2.getColor());
		c2.eat();
		c2.playGame();
		
	}
}

 

Day08 面向对象

JavaSE线路

发布于 2020-0