需求:
在系统中,存在学生、老师角色会进入系统。
分析:
学生信息和行为(名称、年龄、所在班级、查看课表、填写听课反馈)
老师信息和行为(年龄、名称、部门名称、查看课表、发布问题)
定义角色类作为父类包含属性(名称、年龄),行为(查看课表)
定义子类:学生类包含属性(所在班级)、行为(填写听课反馈)
定义子类:老师类包含属性(部门名称)、行为(发布问题)
继承需要满足的设计规范
1、子类们相同的特征(共同属性、共性方法)放在父类中定义。
2、子类独有的属性和行为应该定义在子类自己里面。
父类Role
package com.itheima.ex;
/**
* 角色类 父类
*/
public class Role {
private String name;
private int age;
/**
* 共同行为
*/
public void queryCourse(){
System.out.println(name+"开始查看课程");
}
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;
}
}
子类Student
package com.itheima.ex;
public class Student extends Role{
//独有属性
private String className;
//独有行为
public void writeInfo(){
System.out.println(getName()+"说"+"这会学习感觉不错呀。。");
}
public String getClassName(){
return className;
}
public void setClassName(String className){
this.className=className;
}
}
测试类Test
package com.itheima.ex;
public class Test {
public static void main(String[] args) {
Student s=new Student();
s.setName("小高");//父类的
s.setAge(21);//父类的
s.setClassName("二班");//子类的
System.out.println(s.getName());
System.out.println(s.getAge());
System.out.println(s.getClassName());
s.queryCourse();//父类的
s.writeInfo();//子类的
}
}
测试结果