面向对象_抽象类练习学员案例

来源:互联网 发布:python生成100个随机数 编辑:程序博客网 时间:2024/05/18 03:54
/*学生案例具体事务:基础班学员,就业班学员共性:姓名,年龄,班级,学习,吃饭分析:从具体到抽象基础班学员:成员变量:姓名、年龄、班级构造方法:无参、带参成员方法:学习、吃饭就业班学员:成员变量:姓名、年龄、班级构造方法:无参、带参成员方法:学习、吃饭因为有共性的内容,所以提取出一个父类。学生类。但是由于学习的内容不一样所以,学习方法是抽象法,而方法是抽象,类就必须定义为抽象的学员类:成员变量:姓名、年龄、班级构造方法:无参、带参成员方法:学习、吃饭实现:从抽象到具体学员类:成员变量:姓名、年龄、班级构造方法:无参、带参成员方法:getXxx()/setXxx(),学习study(抽象方法)、吃饭eat(方法)基础班学员:继承自学员类重写学习方法就业班学员:继承自学员类重写学习方法*///定义抽象学员类abstract class Student{//姓名private String name;//年龄private int age;//班级private String grand;public Student(){}public Student(String name,int age,String grand){this.name = name;this.age = age;this.grand = grand;}//getXxx()/setXxx()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 String getGrand(){return grand;}public void setGrand(String grand){this.grand = grand;}//学习study(抽象方法)public abstract void study();//吃饭eat(具体方法)public void eat(){System.out.println("学习累了,去吃饭");}}//定义具体基础班学员类class BasicStudent extends Student{public BasicStudent(){}public BasicStudent(String name,int age,String grand){super(name,age,grand);}public void study(){System.out.println("基础班学员学习的是JavaSE");}}//定义具体就业班学员类class WorkStudent extends Student{public WorkStudent(){}public WorkStudent(String name,int age,String grand){super(name,age,grand);}public void study(){System.out.println("就业班学员学习的是JavaEE");}}class AbstractTest3{public static void main(String[] args){//基础班学员测试//多态(测试)//方式1Student s = new BasicStudent();s.setName("小刚");s.setAge(20);s.setGrand("bdqn_S1");System.out.println(s.getName()+"---"+s.getAge()+"---"+s.getGrand());s.study();s.eat();System.out.println("---------------------------------");//方式2s = new BasicStudent("小刚",20,"bdqn_S1");System.out.println(s.getName()+"---"+s.getAge()+"---"+s.getGrand());s.study();s.eat();System.out.println("---------------------------------");//就业班学员测试//方式1s = new WorkStudent();s.setName("小明");s.setAge(25);s.setGrand("bdqn_Y2");System.out.println(s.getName()+"---"+s.getAge()+"---"+s.getGrand());s.study();s.eat();System.out.println("---------------------------------");//方式2s = new BasicStudent("小明",25,"bdqn_Y2");System.out.println(s.getName()+"---"+s.getAge()+"---"+s.getGrand());s.study();s.eat();System.out.println("---------------------------------");}}

0 0