package com.abc;
abstract class Pet{
private String name;
public abstract void cry();
public void SetName(String n) {
name = n;
}
}
class Dog extends Pet{
private String furColor;
Dog(String n, String c) {
SetName(n);
furColor = c;
}
public void cry() {
System.out.println("汪汪汪");
}
}
class Cat extends Pet{
private String eyesColor;
Cat(String n, String c) {
SetName(n);
eyesColor = c;
}
public void cry() {
System.out.println("喵喵喵");
}
}
class Girl{
private String name;
private Pet pet;
Girl(String n, Pet p){
name = n;
pet = p;
}
public void myPetCry() {
pet.cry();
}
}
public class TestAbstract {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cat c = new Cat("Tom", "gray");
Dog b = new Dog("Kaier", "black");
Girl l1 = new Girl("Rose", c);
Girl l2 = new Girl("Grase", b);
l1.myPetCry();
l2.myPetCry();
}
}
//没有使用接口, 将在下一篇文章中练习使用接口