//需求:调用不同班级学员的不同属性。
//利用多态的 特点。
//基础班,高级班学员都要学习,睡觉。但是,学习和睡觉的方式有可能不同(不确定的就用到抽象了)。
//利用多态的 特点。
//基础班,高级班学员都要学习,睡觉。但是,学习和睡觉的方式有可能不同(不确定的就用到抽象了)。
abstract class Student
{
public abstract void study(); // 抽象学习。
public abstract void sleep(); //抽象睡觉。
{
public abstract void study(); // 抽象学习。
public abstract void sleep(); //抽象睡觉。
}
class BaseStudent extends Student //基础班学员特点。
{
public void study()
{
System.out.println("基础班的学员"+"学得慢");
}
public void sleep()
{
System.out.println("基础班的学员"+"站着睡");
}
}
class AdvStudent extends Student //高级班学员特点。
{
public void study()
{
System.out.println("高级班的学员"+"学的快");
}
public void sleep()
{
System.out.println("高级班的学员"+"躺着睡");
}
}
class BaseStudent extends Student //基础班学员特点。
{
public void study()
{
System.out.println("基础班的学员"+"学得慢");
}
public void sleep()
{
System.out.println("基础班的学员"+"站着睡");
}
}
class AdvStudent extends Student //高级班学员特点。
{
public void study()
{
System.out.println("高级班的学员"+"学的快");
}
public void sleep()
{
System.out.println("高级班的学员"+"躺着睡");
}
}
class Demo //新建一个类,用来存储 学习,睡觉等等。
{
public void dosome(Student tu)
{
tu.study();
tu.sleep();
}
}
{
public void dosome(Student tu)
{
tu.study();
tu.sleep();
}
}
class DuoTaiDemo1
{
public static void main(String[] args)
{
Demo ds = new Demo(); //类Demo创建新的对象。
ds.dosome(new AdvStudent()); //对象定义成员变量dosome,创建new。
{
public static void main(String[] args)
{
Demo ds = new Demo(); //类Demo创建新的对象。
ds.dosome(new AdvStudent()); //对象定义成员变量dosome,创建new。
/*
Student bs = new BaseStudent(); //父类创建实例调用基础班学员,调用学习,睡觉。
bs.study();
bs.sleep();
Student as = new AdvStudent(); //父类创建实例调用高级班学员,调用学习,睡觉。
as.study();
as.sleep();
Student bs = new BaseStudent(); //父类创建实例调用基础班学员,调用学习,睡觉。
bs.study();
bs.sleep();
Student as = new AdvStudent(); //父类创建实例调用高级班学员,调用学习,睡觉。
as.study();
as.sleep();
BaseStudent bs = new BaseStudent(); //新建基础班学员,调用学习,睡觉。
bs.study();
bs.sleep();
AdvStudent as = new AdvStudent(); //新建高级班学员,调用学习,睡觉。
as.study();
as.sleep();
*/
}
}
}