最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Java實(shí)現(xiàn)簡易版的【圖書管理系統(tǒng)】

2023-06-05 15:22 作者:下班被游戲打-  | 我要投稿

??1.分析圖書管理系統(tǒng)的功能

我們先分析一下,一個(gè)圖書管理系統(tǒng)應(yīng)該具備的功能,進(jìn)行一個(gè)簡單的框架搭建。

??(1)登錄

正常情況下圖書管理系統(tǒng)只有兩種人會(huì)使用,一種是學(xué)生,一種是圖書管理員

這個(gè)就是我學(xué)校的網(wǎng)上圖書館的登錄界面,學(xué)生查找書籍通過網(wǎng)絡(luò)就可以查閱

而管理員的登錄界面,我這里看不到,但肯定會(huì)有后臺(tái)的管理人員登錄的窗口,進(jìn)行系統(tǒng)維護(hù)

所以根據(jù)使用人員不同,就要在登錄時(shí)進(jìn)行選擇,是普通用戶還是管理員。

??(2)分析功能

簡單的圖書管理系統(tǒng)應(yīng)該具備的功能,

?? 2.在IDEA中進(jìn)行功能類的創(chuàng)建

??2.1??創(chuàng)建一個(gè)名為book的包,里面存放書相關(guān)的

??(1)創(chuàng)建一個(gè)Book的類,來顯示書的屬性

對一個(gè)圖書進(jìn)行查找,應(yīng)該一本書應(yīng)該具有這些屬性

??注意這里給書提供的控制符都是私有的,在類外是不能訪問的?


??所以要再提供get()和set()對屬性進(jìn)行設(shè)置和獲取



??再給書的屬性提供一個(gè)構(gòu)造方法,


??這里注意,在構(gòu)造方法中不給書加isBorrowed,isBorrowed是boolean類型的,默認(rèn)? false,也就是未被借出去。如果條件一本書,它默認(rèn)就是沒有被借出去

???最后,再提供一個(gè)toString方法來顯示書的信息

??(2) 創(chuàng)建一個(gè)BookList的類,這個(gè)就是書庫

因?yàn)槭菚鴰?,要存放書,所以設(shè)置一個(gè)數(shù)組來存放書籍

再提供一個(gè)成員變量,來實(shí)時(shí)記錄當(dāng)前books數(shù)組中書的個(gè)數(shù)?


下面就可以提供一個(gè)構(gòu)造方法,給里面先存上幾本書


提供一個(gè)方法,如果給一個(gè)合法的數(shù)組下標(biāo),就能找到這本書?


提供一個(gè)方法,給一個(gè)合法的數(shù)組下標(biāo),和一本書,就能存放這本書到書庫中


提供一個(gè)方法,給一個(gè)參數(shù),來實(shí)時(shí)修改當(dāng)前書架上的書的個(gè)數(shù)


?? 2.2 創(chuàng)建一個(gè)名為Operation的包,里面存放對書的所有操作

??(1)創(chuàng)建一個(gè)IOperation的接口,實(shí)現(xiàn)對數(shù)組的操作引用

因?yàn)椴徽撌枪芾韱T或是普通用戶,對書的操作都是在BookList類的數(shù)組books中進(jìn)行操作,

?所以可以提供一個(gè)IOperation的接口,實(shí)現(xiàn)對數(shù)組的操作,


??(2)創(chuàng)建各種類,來實(shí)現(xiàn)對書的所有操作

比如說,普通用戶和管理員都要對書進(jìn)行顯示操作,這個(gè)顯示是一個(gè)效果,

所以只需寫一個(gè)類,普通用戶和管理員就都可以調(diào)用。

合起來,創(chuàng)建這些類就可以了,

?

然后就可以對這些類引用接口了,再重寫一下

比如新增圖書? ? ?

?? 3.進(jìn)行用戶相關(guān)的處理

也就是對普通用戶和管理員進(jìn)行處理

??(1)創(chuàng)建一個(gè)user的包,在包中創(chuàng)建一個(gè)類

這里只創(chuàng)建一個(gè)類,是因?yàn)閷τ谄胀ㄓ脩艉凸芾韱T來說,他們兩個(gè)都是用戶

所以創(chuàng)建一個(gè)成員變量,來表示用戶


下面提供一個(gè)構(gòu)造方法對其初始化


??(2)在user包中再創(chuàng)建兩個(gè)類


子類NormalUser繼承父類User,提供一個(gè)構(gòu)造方法來顯示幫助父類進(jìn)行構(gòu)造


子類AdminUser繼承父類User和前面一樣

下來就是打印菜單了,根據(jù)兩個(gè)用戶所需功能進(jìn)行打印菜單

先看AdminUser管理員的

再看NormalUser普通用戶的


???(3)單獨(dú)創(chuàng)建一個(gè)Main的類,將前面所有整合起來

菜單用戶都有了,下面就是要把這些都整合起來,

先準(zhǔn)備圖書

?BookList bookList = new BookList();//準(zhǔn)備圖書

結(jié)下來就是登錄了,

先寫一個(gè)判斷你是普通用戶還是管理員的方法

注意觀察這段代碼,返回類型是User,這是因?yàn)椴徽搃f中返回是AdminUser還是NormalUser,User作為父類都可以接收,這個(gè)過程就發(fā)生了向上轉(zhuǎn)型

然后再在main方法中引用這個(gè)login()方法,就可以實(shí)現(xiàn)選擇登錄了

選擇完你是哪種用戶后,就打印對應(yīng)功能菜單

但是注意,剛剛把菜單寫在了對應(yīng)子類中去了

如果現(xiàn)在要在父類中訪問,是訪問不了的,所以就要在父類中也引用出菜單


看代碼中,只需將父類寫成抽象類,然后在抽象類中,引出抽象方法的菜單,

就可以在Main類中通過父類訪問到菜單,這就實(shí)現(xiàn)了動(dòng)態(tài)綁定

然后此時(shí)代碼就可以運(yùn)行了


??4.開始實(shí)現(xiàn)對書所有具體的操作功能

??4.1先實(shí)現(xiàn)可以調(diào)用具體操作的功能方法

先在User中寫一個(gè)方法,這個(gè)方法的作用是

通過某個(gè)用戶,訪問這個(gè)用戶對應(yīng)方法功能的數(shù)組下標(biāo),然后通過調(diào)用work方法,來實(shí)現(xiàn)功能

然后在mian中,通過選擇用戶引用這個(gè)方法


?細(xì)節(jié)可以看這個(gè)圖片


下面來看一下具體細(xì)節(jié)分析


??4.2 測試一下

現(xiàn)在已經(jīng)整合完成了,就差具體操作功能實(shí)現(xiàn)了,先運(yùn)行代碼試試


?代碼成功運(yùn)行起來了,但是就用了一個(gè)功能就結(jié)束了,

? ?所以我們可以加一個(gè)循環(huán),來使用多個(gè)功能

??4.3 實(shí)現(xiàn)單獨(dú)具體的操作的功能

??(1)新增圖書 AppOperation類

新增一本圖書我們需要考慮輸入這些


不用考慮isBorrowed 因?yàn)槟J(rèn)狀態(tài)是未被借出的

將這些屬性進(jìn)行輸入

然后將這些屬性存放到new Book中?

? ? ? ?Book book = new Book(name,author,price,type);

獲取當(dāng)前下標(biāo),然后賦給currentSize,將前面輸入的那本書放到數(shù)組下標(biāo)為currentSize中,

然后給 currentSize加1

?運(yùn)行一下,試試看





Java實(shí)現(xiàn)簡易版的【圖書管理系統(tǒng)】的評論 (共 條)

分享到微博請遵守國家法律
黄龙县| 甘德县| 镇宁| 深圳市| 玉溪市| 梁山县| 乐山市| 荔浦县| 额敏县| 永新县| 巩留县| 遂宁市| 图片| 平湖市| 隆回县| 贵溪市| 曲阳县| 龙江县| 韶山市| 阳曲县| 大邑县| 扎赉特旗| 墨江| 同心县| 如皋市| 大悟县| 惠安县| 晋州市| 云浮市| 沂南县| 齐齐哈尔市| 全南县| 安乡县| 仪陇县| 库尔勒市| 日喀则市| 尚志市| 庆安县| 新建县| 梁河县| 疏勒县|