day18_练习题2
作者:互联网
定义一个父类People,定义一个属性weight,定义一个方法eat,有一个参数表示吃了多少,每吃一次,体重增加相应的值.
定义一个Man类是People的子类,定义一个属性是Woman类型叫做女朋友,定义一个属性叫工资.
定义一个sport方法,没有参数,运动一次体重减少5,父类People中eat方法的功能在Man类中不变,如果体重超过200,调用一下sport方法.
写一个方法lol,男人每玩一次lol,他的女朋友调用自己购物方法去shopping,定义一个Woman类, 是People的子类,定义一个属性是Man类型叫男朋友,
定义一个方法shopping,女人每调用一次shopping,男朋友的工资减100
编写程序实现以上内容。
Man类
package com.buli.homework; // 定义一个子类Man 用到关键字extends public class Man extends People { //定义一个属性是Woman类型叫做女朋友 private Woman gf;// 女孩 Woman String private String name; private int age; private People p; private double salary;//定义一个属性为工资 // 提供公共的getXxx方法和setXxx方法 public void setGf(Woman gf) { // 等号左边gf指代Man类中的属性;等号右边gf指代setGf方法中的参数值 this.gf = gf; } public Woman getGf() { return gf; } public void setSalary(double salary) { this.salary = salary; } public double getSalary() { return salary; } //定义一个sport方法,没有参数,运动一次体重减少5, public void sport() { //运动一次体重减少5, ctrl+alt+L 格式化代码 // 先获取类中的weight属性值-5,再把你减掉之后的值再放进类中的体重属性中 setWeight(getWeight() - 5); } //父类People中eat方法的功能在Man类中不变,如果体重超过200,调用一下sport方法. @Override public void eat(double food) { //weight = weight + food; double weight = getWeight() + food; this.setWeight(weight); //父类People中eat方法的功能在Man类中不变 //super.eat(food); //如果体重超过200,调用一下sport方法. if (this.getWeight() > 200) {// getWeight() 获取类中的weight属性值 //调用一下sport方法. this.sport(); } } //写一个方法lol,男人每玩一次lol,他的女朋友调用自己购物方法去shopping public void lol(){ //他的女朋友调用自己购物方法去shopping gf.shopping(); } }
People类
package com.buli.homework; // 定义一个父类people public class People { //私有的成员变量/属性 private double weight;// 体重 //公共的getXxx方法和setXxx方法 成员方法 public void setWeight(double weight) { // 等号左边 weight指代类中的属性;等号右边指代方法参数值 this.weight = weight; } public double getWeight() { return weight; } //定义一个方法eat,有一个参数表示吃了多少,每吃一次,体重增加相应的值. public void eat (double food) { weight = weight + food; } }
TestPeople类
package com.buli.homework; public class TestPeople { public static void main(String[] args) { //准备一对对象 Man wangFeng = new Man();// 准备一个男士 Woman zhangZiYi = new Woman();//准备一个女士 // 首先把汪峰变成章子怡的男朋友 zhangZiYi.setBf(wangFeng);// wangfeng此时变成zhangziyi的男朋友 // 再次zhangziyi就变成了wangfeng的女朋友 //wangFeng.setGf(zhangZiYi);// 此时zhangziyi就变成了wangfeng的女朋友 // 给man设置体重值 wangFeng.setWeight(197);// 197斤 // 调用eat()方法 wangFeng.eat(4);// 4斤 // 查看汪峰的体重值 System.out.println(wangFeng.getWeight() + "斤");// 201斤-5斤= 196斤 // 给man设置薪资值 wangFeng.setSalary(1000);// 1000元 wangFeng.lol();// 1000-100=900 System.out.println(wangFeng.getSalary() + "元");// 1000-100 = 900元 } }
Woman类
package buli.homework; // 定义一个类是Woman类 此时Woman类就是People的子类 public class Woman extends People { //定义一个属性是Man类型叫男朋友 private Man bf; public void setBf(Man bf) { this.bf = bf; } public Man getBf() { return bf; } //定义一个成员方法 shopping() 购物 public void shopping() { //女人每调用一次shopping,男朋友的工资减100 //首先通过bf对象调用getSalary()方法获取男朋友的薪资-100,再把减掉之后的工资值放进男朋友的工资属性中 bf.setSalary(bf.getSalary() - 100); } }
标签:练习题,Woman,定义,weight,People,day18,public,Man 来源: https://www.cnblogs.com/buli7677/p/13916771.html