1、设计一个用户类,该类有用户编号、用户名、密码、姓名、性别属性,另外有一个学生类,继承用户类,学生类里有属性专业,具有方法上课,编写程序实现以上过程,并写出测试代码。(50分)
用户类(User):
属性:userID、userName、userPwd、name、sex
学生类(Student):extends User
属性:major
方法:public String goClass()//学生上课方法
测试类(Test):
//查询所有学生名字
public static List getAllUserName(List students){
//补全代码
}
//删除给定用户编号的用户
public static List removeUserById(List students,String id){
//补全代码
}public static void main(String args[]){//部分代码
Student user1=new Student(*,*,*,*,*,*);
Studentuser2=new Student(*,*,*,*,*,*);
…………
//把用户加到动态数组中,代码请补全//调用方法public static List getAllUserName(List students),请补全代码
//调用方法public static List removeUserById(List students,String id),请补全代码}
用户类(User):
属性:userID、userName、userPwd、name、sex
学生类(Student):extends User
属性:major
方法:public String goClass()//学生上课方法
测试类(Test):
//查询所有学生名字
public static List getAllUserName(List students){
//补全代码
}
//删除给定用户编号的用户
public static List removeUserById(List students,String id){
//补全代码
}public static void main(String args[]){//部分代码
Student user1=new Student(*,*,*,*,*,*);
Studentuser2=new Student(*,*,*,*,*,*);
…………
//把用户加到动态数组中,代码请补全//调用方法public static List getAllUserName(List students),请补全代码
//调用方法public static List removeUserById(List students,String id),请补全代码}
先一步一步来,首先建立User类public class User {
//封装类所有属性全部私有表示
private String userID,userName,userPwd,name,sex;
//创建构造
public User(String userID, String userName, String userPwd, String name, String sex) {
super();
this.userID = userID;
this.userName = userName;
this.userPwd = userPwd;
this.name = name;
this.sex = sex;
}
//封装类添加每个属性的set和get方法
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}}
属性:major
方法:public String goClass()//学生上课方法public class Student extends User {
//子类追加属性
private String major;
//子类的构造
public Student(String userID, String userName, String userPwd, String name, String sex, String major) {
super(userID, userName, userPwd, name, sex);
this.major = major;
}
//子类属性的set和get方法,父类属性被子类继承,子类可以直接使用父类的set和get方法来调用,这里不用再次重写
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
//子类新增的方法
public String goClass() {
return "Internet";
}
}
public String toString() {
return "["+getUserID()+","+getUserName()+","+getUserPwd()+","+getName()+","+getSex()+","+getMajor()+"]";
}
test类import java.util.ArrayList;
import java.util.List;public class test { public static void main(String[] args) {
// TODO Auto-generated method stub
List<Student> students=new ArrayList<Student>();
Student user1=new Student("1", "zhangsan", "123", "zhangsan", "nan", "computer");
Student user2=new Student("2", "lisi", "123", "lisi", "nan", "computer");
students.add(user1);
students.add(user2);
System.out.println(students);
System.out.println(getAllUserName(students));
System.out.println(removeUserById(students, "2"));
}
public static List<String> getAllUserName(List<Student> students) {
//参数类是一个student类的list,返回的是userName的一个String的list
List<String> list=new ArrayList<String>();
//历遍students的list把students中的username加入新list中
students.forEach(x->list.add(x.getName()));
return list;
}
public static List<Student> removeUserById(List<Student> students,String Id){
//历遍students类的list,如果找到userId与给于的Id相同的话,把该元素remove出list
for(int i=0;i<students.size();i++) {
if(students.get(i).getUserID().equals(Id)) {
students.remove(i);
}
}
return students;
}
}