黑马程序员技术交流社区
标题:
类的继承03
[打印本页]
作者:
_J2EE_LiXiZhen
时间:
2017-11-8 00:07
标题:
类的继承03
请使用代码描述:
工资为8000元的30岁的王小平老师,会吃饭(吃工作餐)和讲课.
成绩为90分的15岁的李小乐学生,会吃饭(吃学生餐)和学习.
提示: 把老师和学生的共性抽取人类中,人类不使用抽象类
代码实现:
/* 1.定义Person类
i.成员变量(私有): 名称(name),年龄(age)
ii.成员方法: 吃饭(void eat())
1.输出格式: 30岁的王小平在吃饭
iii.提供空参和带参构造方法
iv.提供setXxx和getXxx方法*/
public class Person {
private String name;
private int age;
// get/set
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 Person() {
// TODO Auto-generated constructor stub
}
// 带参
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
// 吃饭方法
public void eat() {
System.out.println(this.age + "的" + this.name + "在吃饭");
}
}
/*3.定义学生类(Student),继承Person类
i.成员变量: score(成绩)
ii.成员方法:
1. 重写父类的 eat()方法
a)输出格式:: 成绩为90分的15岁的李小乐学生在吃学生餐
2. 特有方法: study() 学习方法
a)输出格式:: 成绩为90分的15岁的李小乐学生在学习
iii.提供空参和带参构造方法
iv.提供setXxx和getXxx方法*/
public class Student extends Person{
private int score;
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public Student() {
// TODO Auto-generated constructor stub
}
public Student(String name,int age,int score) {
super(name,age);
this.score = score;
}
//吃饭方法
public void eat() {
System.out.println("成绩为"+this.score+"分的"+this.getAge()+"岁的"+this.getName()+"学生正在吃学生餐");
}
//学习方法
public void study() {
System.out.println("成绩为"+this.score+"分的"+this.getAge()+"岁的"+this.getName()+"学生正在学习");
}
}
/* 2.定义老师类(Teacher),继承Person类
i.成员变量: salary(工资)
ii.成员方法:
1. 重写父类的 eat()方法
a)输出格式:: 工资为8000元的30岁的王小平老师在吃工作餐
2. 特有方法: lecture() 讲课方法
a)输出格式:: 工资为8000元的30岁的王小平老师在讲课
iii.提供空参和带参构造方法
iv.提供setXxx和getXxx方法*/
public class Teacher extends Person{
private double salary;
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public void eat() {
System.out.println("工资为"+this.salary+"元的"+this.getAge()+"岁的"+this.getName()+"老师正在吃工作餐");
}
public void lecture() {
System.out.println("工资为"+this.salary+"元的"+this.getAge()+"岁的"+this.getName()+"老师正在讲课");
}
public Teacher() {
// TODO Auto-generated constructor stub
}
public Teacher(String name,int age,double salary) {
super(name,age);
this.salary = salary;
}
}
/*
* 工资为8000元的30岁的王小平老师,会吃饭(吃工作餐)和讲课.
* 成绩为90分的15岁的李小乐学生,会吃饭(吃学生餐)和学习.
* 提示: 把老师和学生的共性抽取人类中,人类不使用抽象类
* */
/*a)提供main方法
b)在main方法中
i.创建老师对象t,并把名称赋值为”王小平”,年龄赋值为30,工资赋值为8000
ii.调用老师对象t的吃饭方法
iii.调用老师对象t的讲解方法
iv.创建学生对象 s,并把名称赋值为”李小乐”,年龄赋值为14,成绩赋值为90分.
v.调用学生对象 s 的吃饭方法
vi.调用学生对象 s 的学习方法*/
public class Test {
public static void main(String[] args) {
Teacher t = new Teacher("王小平", 30, 8000);
t.eat();
t.lecture();
Student s = new Student("李小乐", 14, 90);
s.eat();
s.study();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2