- C# 2012程序設(shè)計(jì)實(shí)踐教程 (清華電腦學(xué)堂)
- 張冬旭
- 644字
- 2021-03-26 17:16:32
4.4 實(shí)驗(yàn)指導(dǎo)——模擬實(shí)現(xiàn)會(huì)員登錄
本節(jié)之前已經(jīng)詳細(xì)介紹過(guò)C#中的結(jié)構(gòu)、枚舉和接口,本節(jié)實(shí)驗(yàn)指導(dǎo)綜合前面的內(nèi)容,模擬實(shí)現(xiàn)會(huì)員的登錄功能,步驟如下。
(1)創(chuàng)建表示用戶基本信息的User類,該類包含兩個(gè)私有字段,并且通過(guò)屬性對(duì)這兩個(gè)字段進(jìn)行封裝,然后對(duì)User類添加有參和無(wú)參的構(gòu)造函數(shù),主要代碼如下。
class User { private string name; //登錄名 private string pass; //密碼 /// <summary> /// 登錄名 /// </summary> public string Name { get { return name; } set { name = value; } } /* 省略其他代碼 */ public User() { } public User(string loginname, string loginpass) { this.name = loginname; this.pass = loginpass; } }
(2)創(chuàng)建名稱是IUser的接口,該接口包含一個(gè)未實(shí)現(xiàn)的UserLogin方法,該方法需要傳入一個(gè)參數(shù),代碼如下。
interface IUser { bool UserLogin(User user); }
(3)創(chuàng)建實(shí)現(xiàn)IUser接口的UserInfo類,該類實(shí)現(xiàn)UserLogin()方法,在該方法中判斷用戶輸入的登錄名和密碼是否正確。如果登錄名等于admin,且密碼等于123456,則表示登錄成功,否則登錄失敗,代碼如下。
class UserInfo : IUser { public bool UserLogin(User user) { if (user.Name == "admin" && user.Pass == "123456") { return true; } else { return false; } } }
(4)向Main()方法中添加代碼,首先獲取用戶在控制臺(tái)中輸入的登錄名和密碼,然后創(chuàng)建User類和UserInfo類的實(shí)例對(duì)象,最后通過(guò)if…else語(yǔ)句調(diào)用info對(duì)象的UserLogin()方法進(jìn)行判斷,并輸出不同的內(nèi)容,代碼如下。
Console.Write("請(qǐng)輸入登 錄 名:"); string name = Console.ReadLine(); //獲取用戶輸入的登錄名 Console.Write("請(qǐng)輸入登錄密碼:"); string pass = Console.ReadLine(); //獲取用戶輸入的密碼 User user = new User(name, pass); //實(shí)例化User類的對(duì)象 UserInfo info = new UserInfo(); if (info.UserLogin(user)) { Console.WriteLine("恭喜您,成功登錄。"); Console.WriteLine("\n請(qǐng)選擇您要執(zhí)行的操作:\n1.添加會(huì)員\n2.刪除會(huì)員"); } else { Console.WriteLine("很抱歉,登錄失敗,確定密碼后再登錄吧。"); }
(5)運(yùn)行上述代碼,在控制臺(tái)中輸入登錄名和密碼進(jìn)行測(cè)試,登錄成功時(shí)的效果如圖4-3所示。

圖4-3 會(huì)員登錄成功時(shí)的效果
推薦閱讀
- Boost.Asio C++ Network Programming(Second Edition)
- FuelPHP Application Development Blueprints
- Vue.js 2 and Bootstrap 4 Web Development
- Bootstrap Essentials
- TypeScript項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)
- Working with Odoo
- Microsoft Azure Storage Essentials
- Clojure for Machine Learning
- 深入淺出Go語(yǔ)言編程
- Instant Debian:Build a Web Server
- PyQt編程快速上手
- Node.js區(qū)塊鏈開(kāi)發(fā)
- 超簡(jiǎn)單:用Python讓Excel飛起來(lái)(實(shí)戰(zhàn)150例)
- HTML5+CSS+JavaScript深入學(xué)習(xí)實(shí)錄
- Python程序設(shè)計(jì)現(xiàn)代方法