南北方饮食文化的多态
要求:
1. 在一个名为Test.java的文件中定义四个类:人类Person,南方人类SouthPerson和北方人类NorthPerson继承Person,测试类Test,要求编写代码的同时编写简单注释。
2. 人类Person要求体现以下内容:
(1) 私有成员变量:姓名name,年龄age
(2) 成员方法:setXxx()/getXxx()方法
Show( )方法显示成员信息
eat()方法显示“吃饭了!”
3. SouthPerson继承Person,重写eat()方法显示“南方人喜欢吃米饭!”,并给出成员方法DoBusiness()显示“南方人擅长做生意”。
4. NorthPerson继承Person,重写eat()方法显示“北方人喜欢吃面条!”,并给出成员方法Research()显示“北方人擅长搞研究”。
5. 测试类Test要求实现:
(1)测试南方人:用多态创建Person对象p,用setXxx()方法给其赋值(”陈果”,40),调用其show()方法、eat()方法、DoBusiness()方法。
(2)测试北方人:用多态将北方人赋值给对象p,用setXxx()方法给其赋值(”李平”,16),调用其调用show()方法、eat()方法、Research()方法。
源代码:
package TestPerson;
//人类
class Person {
private String name;
private int age;
public Person() {
super();
// TODO Auto-generated constructorstub
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
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 void show() {
System.out.println("姓名:" + name + ",年龄:" + age);
}
public void eat() {
System.out.println("吃饭了");
}
}
// 南方人
class SouthPersonextends Person {
public void eat() {
System.out.println("南方人喜欢吃米饭");
}
public void DoBusiness() {
System.out.println("南方人擅长做生意");
}
}
// 北方人
class NorthPersonextends Person {
public void eat() {
System.out.println("北方人喜欢吃面");
}
public void Research() {
System.out.println("北方人喜欢搞研究");
}
}
// 测试类
public class Test{
// 测试南方人
public static void main(String[] args) {
Person p = new SouthPerson();
p.setName("陈果");
p.setAge(40);
p.show();
p.eat();
SouthPerson s = (SouthPerson) p;
s.DoBusiness();
// 测试北方人
p = new NorthPerson();
p.setName("李平");
p.setAge(16);
p.show();
p.eat();
NorthPerson n = (NorthPerson) p;
n.Research();
}
}