java 练习题14题

/*JAVA练习题14题:
定义一个抽象的"Role"类 有姓名,年龄,性别等成员变量
1:要求尽可能隐藏所有变量(能够私有就私有,能够保护就
不要公有).再通过GetXXX()和SetXXX()方法对各变量进行
读写.具有一个抽象的play(){play游戏}方法,该方法不返
回任何值,同时至少定义两个构造方法,Role类中要体现
this的几种用法。
2:从Role类派生出一个Employee{员工}类,该类具有Role类的所
有成员,构造方法除外,并扩展salary{工资}成员变量 同时增加
一个静态成员变量“职工编号 ID”,同样要有至少两个构造
方法,要体现出this和super的几种用法,还要求覆盖play()
方法,并提供一个final sing()sing唱歌}方法。
3:“Manager{领导}”类继承“Employee{员工}”类,有一个final成员变量
“vehicle{车辆}”.
4:在main()方法中制造Manager和Employee对象,并测试
这些对象的方法。

*/
//Role 角色
abstract class Role{
private String name;
private int age;
// gender 性别 1:男.2:女;
private int gender;

	public  Role(){
		}
	
	public Role(String name,int age){
		this.name =name;
		this.age=age;
		}
	public Role(String name,int age,int gender){
		this(name,age);
		this.gender=gender;
		}	
		
//封装
  public void  SetName(String name){
	this.name = name;
	}
	public String GetName(){
	return  name;
	}
	
	 public void  SetAge(int age){
	this.age = age;
	}
	public int GetAge(){
	return  age;
	}
	
	 public void  SetGender(int gender){
	this.gender = gender;
	}
	public int GetGender(){
	return  gender;
	}
	
	public abstract void play();

}
class Employee extends Role{
//salary 工资
private int salary;
static int id;

	public Employee(){
		}
		
	public Employee(String name,int age,int gender,int salary){
		super(name,age,gender);
		this.salary=salary;
	
		}
	
	public void SetSalary(int salary){
		this.salary = salary;
		}
	public int GetSalary(){
		return  salary;
		}	
	
	public  void play(){
		System.out.println("员工正在打乒乓球比赛");
		}
	public final void sing(){
		System.out.println("领导正在组织员工'五.一'歌咏比赛");
		}
	public  void info(){	
	  System.out.println("工号:"+id+" 姓名:"+GetName()+"  年龄:"+GetAge()+"  性别:"+GetGender()+" 工资"+GetSalary());
	}

}
class Manager extends Employee{
final String vehicle;

	public Manager(String name,int age,int  gender,int salary,String	vehicle){
		super(name,age,gender,salary);
		this.vehicle=vehicle;
	}
	
	public  void info(){	
	  System.out.println("工号:"+id+" 姓名:"+GetName()+"  年龄:"+GetAge()+"  性别:"+GetGender()+" 工资:" +GetSalary()+"  交通工具:"+vehicle );
	}

}
public class TestRole{
public static void main(String[] args){
Employee e = new Employee(“王勇”,30,1,5000);
Employee.id++;
e.info();

		e.play();
		e.sing();
		
		
		Manager m = new Manager("李丽",41,2,10000,"比亚迪汽车");
		Employee.id++;
		m.info();
	}

}

在这里插入图片描述

发布了103 篇原创文章 · 获赞 5 · 访问量 3079

猜你喜欢

转载自blog.csdn.net/weixin_45339692/article/details/103284476