实验6接口 一、实验目的 1理解接口的概令 2会编写接口、会实现接口、会使用接口 二、实验要求 1,会定义接口 2.会编写接口、会实现接口、会使用接口 三、实验内容 需求说明:编写接口和实现类,要求如下: 定义数据访问接口 用户数据访问接口:UserDa。 。版块数据访问接口:Bo :主题数据访问接口:TopicDao 回复数据访问接口:ReplyDao 编写UserDao接口的实现类:Use 使用多态的方式调用心 erDao接口的方法 一)定义接口 L.定义接口:用户数据访问接口UserDao、.主题数据访间接口TopicDa 接口 UserDao TopicDao 方法 找用户 查找主题 增加用月 增加主题 修改用户 修改主题 删除主题 2.实现思路及关健代码: 定义接口:UserDao,声明UserDao接口的方法: I)查找用户:public User findUser(String uName) 2)增加用户:public int addUser(User user) 3)修改用户:public int updateUser(User user)方
实验 6 接口 一、实验目的 1. 理解接口的概念, 2. 会编写接口、会实现接口、会使用接口 二、 实验要求 1. 会定义接口 2. 会编写接口、会实现接口、会使用接口 三、 实验内容 需求说明:编写接口和实现类,要求如下: 定义数据访问接口 用户数据访问接口:UserDao 版块数据访问接口:BoardDao 主题数据访问接口:TopicDao 回复数据访问接口:ReplyDao 编写 UserDao 接口的实现类:UserDaoImpl 使用多态的方式调用 UserDao 接口的方法 (一) 定义接口 1. 定义接口:用户数据访问接口 UserDao、主题数据访问接口 TopicDao 接口 UserDao TopicDao 方法 查找用户 增加用户 修改用户 查找主题 增加主题 修改主题 删除主题 2. 实现思路及关键代码: 定义接口:UserDao,声明 UserDao 接口的方法: 1) 查找用户:public User findUser(String uName); 2) 增加用户:public int addUser(User user); 3) 修改用户:public int updateUser(User user);
已知User类代码如下所示: public class User private int id =1 /用来唯一标识用户 private String name "abc用户名 private String pass="abc":∥用户密码 publie int getld( returnid, publie void setld(int id) this.idid; public String getName() return name public void setName(String name) this.name name: public String getPass() return pass public void setPass(String pass) this.pass pass; public void getUsernfo() System.out.println(" 一用户信息一 =)月 System.out.println("用户名:" +name): System.out printn("用户密码:·+pas+"n"方 定义接口:TopicDao,声明UserDao接口的方法, I)查找主题:publie Topic findTopic(int topicId): 2)增加主题:public int addTopic(Topic topic), 3)别除主题:(topic) 4)修改主题: blic in dateTopic(Topictopic 已知Topic类代码如下所示 public class Topic private int topicld=l;,∥唯一标志主题的id private int boardld=上,Il用板块的id,用来表示该帖子是哪个板块的 publicint getTopicld( return topicld;
已知 User 类代码如下所示: public class User { private int id = 1; //用来唯一标识用户 private String name = "abc";//用户名 private String pass = "abc";//用户密码 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public void getUserInfo() { System.out.println("====用户信息===="); System.out.println("用户名:" + name); System.out.println("用户密码:" + pass + "\n"); } } 定义接口:TopicDao,声明 UserDao 接口的方法: 1) 查找主题:public Topic findTopic(int topicId); 2) 增加主题:public int addTopic(Topic topic); 3) 删除主题:public int deleteTopic(int topicId); 4) 修改主题:public int updateTopic(Topic topic); 已知 Topic 类代码如下所示: public class Topic { private int topicId = 1; //唯一标志主题的 id private int boardId = 1; //引用板块的 id,用来表示该帖子是哪个板块的 public int getTopicId() { return topicId; }
Publicoi setTopicld(nt topicd) this. public int getBoardId() return boardld: public void setBoardld(int boardld) this.boardld boardld; 3.定义接口:版块数据访问接口BoardDao、回复数据访问接口ReplyDao(参照以上方法). 接口 BoardDao ReplyDao 方法 增加论坛版块 增加回复信息 徐回复府忌 修改回复信息 已知Board类、Reply类代码如下所示: public class Board{ private int hoardld =1川用来雌一表示版块 private String boardName Java"版块的名称 private int parentld=O:∥主版id publie void getBoardInfo() System.outprint("==板块信息一"方 System.out.printn("板块名称: .+boardName+"n") public class Reply{ privatein =1:唯一标志回复的id 1引用主题的id,用来表示该回复是哪个主题的 public int getReplyId(){ return replyld: public void setReplyld(int replyId) this.replyld=replyld; public int getTopicld()
public void setTopicId(int topicId) { this.topicId = topicId; } public int getBoardId() { return boardId; } public void setBoardId(int boardId) { this.boardId = boardId; } } 3. 定义接口:版块数据访问接口 BoardDao、回复数据访问接口 ReplyDao(参照以上方法)。 接口 BoardDao ReplyDao 方法 增加论坛版块 增加回复信息 删除回复信息 修改回复信息 已知 Board 类、Reply 类代码如下所示: public class Board { private int boardId = 1; //用来唯一表示版块 private String boardName = "Java";//版块的名称 private int parentId = 0; //主版 id public void getBoardInfo() { System.out.println("====板块信息===="); System.out.println("板块名称:" + boardName + "\n"); } } public class Reply { private int replyId = 1;//唯一标志回复的 id private int topicId = 1;//引用主题的 id,用来表示该回复是哪个主题的 public int getReplyId() { return replyId; } public void setReplyId(int replyId) { this.replyId = replyId; } public int getTopicId() {
return topicld: public void setTopicld(int topicld) this.topicld=topicld, (二)实现接口,使用多态 1.实现UserDao接口,使用接口和实现类实现多态 2.实现思路及关键代码: 1)定义UserDao接口的实现类:UserDaoImpl 2)实现UserDao接口所有的方法 编写测试类UserDaoTes,在测试类中使用UserDa0接口和其实现类实现多态 己知UserDaoImpl类参考代码如下: public class UserDaolmpl implements UserDao{ ·增加用户 public int addUser(User user) for(int i=0:i<10:++) f(users -null) users=user users i].setld(i); returnl; /体幸 幸查找用户 public User findUser(String uName){
return topicId; } public void setTopicId(int topicId) { this.topicId = topicId; } } (二)实现接口,使用多态 1. 实现 UserDao 接口,使用接口和实现类实现多态 2. 实现思路及关键代码: 1) 定义 UserDao 接口的实现类:UserDaoImpl 2) 实现 UserDao 接口所有的方法 3) 编写测试类 UserDaoTest,在测试类中使用 UserDao 接口和其实现类实现多态 已知 UserDaoImpl 类参考代码如下: public class UserDaoImpl implements UserDao { private User[] users = new User[10]; /** * 增加用户 */ public int addUser(User user) { for(int i=0;i<10;i++){ if(users[i]==null){ users[i] = user; users[i].setId(i); return 1; } } return 0; } /** * 查找用户 */ public User findUser(String uName) {
.此处请实现 更新用户用户id不可以更改 来/ public int updateUser(User user) .此处请实现 }
.//此处请实现 } /** * 更新用户,用户 id 不可以更改 */ public int updateUser(User user) { .//此处请实现 } }