面向对象练习题--继承

1、根据需求,完成如下代码(只用继承,不用抽象类,按照标准格式写),并在测试类中进行测试。
需求一:
项目经理类
属性:姓名 工号 工资 奖金
行为:工作work(打印姓名、工号、工资、奖金)
程序员类
属性:姓名 工号 工资
行为:工作work(打印姓名、工号、工资)

/**

  • 程序员类
    属性:姓名 工号 工资
    行为:工作work(打印姓名、工号、工资)
  • @author dell

*/
public class Programer {
private String name ;
private int num ;
private double salary ;
public Programer(String name,int num,double salary )
{
this.name = name;
this.num = num;
this.salary = salary;
}
public double getSary()
{
return salary;
}
public String getName()
{
return name;
}
public int getNum()
{
return num;
}
}

/**

  • 项目经理类
    属性:姓名 工号 工资 奖金
    行为:工作work(打印姓名、工号、工资、奖金)
  • @author dell

*/
public class Manager extends Programer
{
private double bonus;//奖金
public Manager(String name, int mum, double salary)
{
super(name, mum, salary);
bonus = 0;
}
public double getSalary()
{
double baseSalary = super.getSary();
return baseSalary + bonus;
}
public void setBonus(double a)
{
bonus = a;
}

}

/**

  • 需求二:
    已知学生类和老师类如下:
    行为:吃饭
    属性:姓名,年龄
    老师有特有的方法:讲课
    学生有特有的方法:学习
  • @author dell

*/
public class Student1 {
private String name;
private int age;

public Student1(String name,int age)
{
	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 Study()
{
	System.out.println("学习自己所需要的任何知识");
}
public void eat()
{
	System.out.println("吃饭");
}

}

/**

  • 需求二:
    已知学生类和老师类如下:
    行为:吃饭
    属性:姓名,年龄
    老师有特有的方法:讲课
    学生有特有的方法:学习
  • @author dell

*/
public class Teacher extends Student1
{

public Teacher(String name, int age) {
	super(name, age);
	
}

public void Teach()
{
	System.out.println("师者,传道,授业,解惑");
}

public void eat()
{
	System.out.println("吃饭");
}

}

/**

  • 需求三:
    已知猫类和狗类:
    属性:毛的颜色,腿的个数
    行为:吃饭
    猫特有行为:抓老鼠catchMouse
    狗特有行为:看家lookHome
  • @author dell

*/
public class Cat {

@SuppressWarnings("unused")
private String haircolor;
@SuppressWarnings("unused")
private int legnum;
public String getHaircolor() {
	return haircolor;
}
public void setHaircolor(String haircolor) {
	this.haircolor = haircolor;
}
public int getLegnum() {
	return legnum;
}
public void setLegnum(int legnum) {
	this.legnum = legnum;
}
public Cat(String haircolor,int legnum)
{
	this.setHaircolor(haircolor);
	this.setLegnum(legnum);
}
public void catchMouse()
{
	System.out.println("catchmouse everyday");
}

}

/**

  • 需求三:
    已知猫类和狗类:
    属性:毛的颜色,腿的个数
    行为:吃饭
    猫特有行为:抓老鼠catchMouse
    狗特有行为:看家lookHome
  • @author dell

*/
public class Dog extends Cat
{

public Dog(String haircolor, int legnum) {
	super(haircolor, legnum);
	// TODO Auto-generated constructor stub
}

public void lookHome()
{
	System.out.println("看家");
}

}

/**

  • 测试类
  • @author dell

*/
public class ManagerTest {

public static void main(String[] args) {
	//需求一
	Manager boss = new Manager("Austin", 101, 80000);
	boss.setBonus(5000);
	System.out.println("name:"+ boss.getName()+" " + "工号:" +boss.getNum()+" "+"salary="+ boss.getSalary());
	Programer L = new Programer("小明",202,20000);
	System.out.println("name:" + L.getName()+" " + "工号:"+ L.getNum()+" " +"salary="+ L.getSary());
	System.out.println();
	
	//需求二
	Teacher H = new Teacher("Austin", 42);
	System.out.println("老师的名字:" + H.getName() + " " + "年龄:" + H.getAge() );
	System.out.print("特殊之处:" + " ");
	H.Teach();
	System.out.print("行为:" + " ");
	H.eat();
	Student1 s = new Student1("Brain", 21);
	
	System.out.println("学生的名字:" + s.getName() +" " + "年龄:" + s.getAge() );
	System.out.print("特殊之处:" + " ");
	s.Study();
	System.out.print("行为:" + " ");
	s.eat();
	System.out.println();
	
	//需求三
	Cat q = new Cat("黑色",4);
	q.catchMouse();
	System.out.println(q.getHaircolor()+ ",颜色" + q.getLegnum() + "条腿");
	Dog p = new Dog("白色",4);
	p.lookHome();
	System.out.println(p.getHaircolor()+ ",颜色" + p.getLegnum() + "条腿");
}

}

猜你喜欢

转载自blog.csdn.net/Austin_/article/details/90045185