版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目1C#入門基礎(chǔ)智慧校園系統(tǒng)項(xiàng)目概述C#是微軟公司基于C和C++衍生出來的一種面向?qū)ο蟮木幊陶Z(yǔ)言,它使得程序員可以快速地編寫各種基于Microsoft.NET平臺(tái)的應(yīng)用程序,Microsoft.NET提供了一系列的工具和功能來支持基于計(jì)算與通訊領(lǐng)域的開發(fā)。C#繼承C和C++強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜性,綜合了VB的可視化操作和C++的高運(yùn)行效率。本項(xiàng)目通過VB、C的案例學(xué)習(xí),逐步引入C#編程。通過C#案例的學(xué)習(xí),使學(xué)生了解C#的特性,學(xué)會(huì)使用C#完成簡(jiǎn)單的編程,為后續(xù)項(xiàng)目智慧校園相關(guān)系統(tǒng)的開發(fā)做好準(zhǔn)備。IOTPartC#引入任務(wù)01【任務(wù)描述】
VB是中職計(jì)算機(jī)學(xué)生必學(xué)的計(jì)算機(jī)編程語(yǔ)言;C語(yǔ)言是物聯(lián)網(wǎng)專業(yè)的基礎(chǔ)語(yǔ)言,在學(xué)習(xí)了這兩門語(yǔ)言后,學(xué)生已經(jīng)掌握了可視化編程以及編程基本的思想。本任務(wù)使用VB、C、C#三種語(yǔ)言分別制作登錄軟件,通過比較了解C#語(yǔ)言與VB、C的不同,了解C#的命名空間、屬性、this等面向?qū)ο蟮母拍睢?.1C#引入登錄界面新增用戶界面
1.1C#引入登錄界面控件設(shè)置控件名稱控件類型屬性名屬性值控件功能FrmLogin窗體Caption登錄
LblUsername標(biāo)簽Caption用戶名
LblPwd標(biāo)簽Caption密碼
txtUserName文本框
輸入用戶名txtPwd文本框PasswordChar*輸入密碼cmdBtnOk按鈕Caption登錄
cmdBtnCancel按鈕Caption關(guān)閉
cmdBtnAdd按鈕Caption新增用戶
cmdBtnChange按鈕Caption修改密碼
1.1C#引入新增用戶界面控件設(shè)置控件名稱控件類型屬性名屬性值控件功能frmAddUser窗體Caption新增用戶
LblUsername標(biāo)簽Caption用戶名
LblPwd標(biāo)簽Caption密碼
LblCheckPwd標(biāo)簽Caption確認(rèn)密碼
txtUserName文本框
輸入用戶名txtPwd文本框PasswordChar*輸入密碼txtCheckPwd文本框PasswordChar*確認(rèn)密碼cmdBtnOk按鈕Caption確認(rèn)
cmdBtnCancel按鈕Caption取消
【任務(wù)實(shí)施--VB】
添加模塊,定義PublicSysUserName(1To4)、PublicSysPwd(1To4)、PublicintUser,intNumAsInteger,分別用戶存儲(chǔ)系統(tǒng)用戶名、存儲(chǔ)系統(tǒng)用戶密碼、記錄當(dāng)前用戶索引號(hào)與當(dāng)前數(shù)據(jù)存儲(chǔ)的用戶數(shù)量;參照教材代碼,添加FrmLogin窗體Load事件,添加默認(rèn)用戶;參照教材代碼,添加cmdBtnOk窗體單擊事件,通過循環(huán)檢索用戶名密碼,如果正確則提示登錄,否則提示失??;參照教材代碼,添加cmdBtnCancel單擊事件,調(diào)用UnloadMe關(guān)閉窗體;參照教材代碼,添加cmdBtnAdd單擊事件,調(diào)用frmAddUser.Show打開在新增用戶窗體;參照教材代碼,添加cmdBtnOk單擊事件,添加系統(tǒng)用戶。1.1C#引入【任務(wù)實(shí)施--C】
添加模塊,定義charSysUsername[4][20]、charSysPwd[4][20]、intintUser,intNum;,分別存儲(chǔ)系統(tǒng)用戶名、存儲(chǔ)系統(tǒng)用戶密碼、記錄當(dāng)前用戶索引號(hào)與當(dāng)前數(shù)據(jù)存儲(chǔ)的用戶數(shù)量;參照教材代碼,添加登錄函數(shù),實(shí)現(xiàn)登錄判斷;參照教材代碼,添加新增用戶函數(shù),實(shí)現(xiàn)添加用戶;參照教材代碼,添加main函數(shù),實(shí)現(xiàn)菜單功能。1.1C#引入【任務(wù)實(shí)施—C#】
創(chuàng)建C#工程,打開控件工具欄,參照書本創(chuàng)建界面;參照教材代碼,創(chuàng)建PublicData類,定義publicstaticstring[]SysUserName、
publicstaticstring[]SysPwd、publicstaticintintNum{get;set;}、publicstaticintintUser{get;set;},分別用于存儲(chǔ)系統(tǒng)用戶名、存儲(chǔ)系統(tǒng)用戶密碼、當(dāng)前數(shù)據(jù)存儲(chǔ)的用戶數(shù)量、記錄當(dāng)前用戶索引號(hào)。在Login窗體中,定義AddUseraddfrm=newAddUser()、publicboolIsLogin=false全局變量,實(shí)例化添加用戶窗體與定義登錄標(biāo)識(shí);參照教材代碼,添加BtnOk按鈕單擊事件,實(shí)現(xiàn)用戶名密碼的檢索判斷;參照教材代碼,添加BtnCancelk按鈕單擊事件,關(guān)閉窗體;參照教材代碼,添加btnAdd按鈕單擊事件,顯示添加用戶窗體;在addfrm窗體中,添加BtnOk按鈕單擊事件,實(shí)現(xiàn)用戶的添加。1.1C#引入【知識(shí)提煉】
類“類”是一種數(shù)據(jù)結(jié)構(gòu),是創(chuàng)建對(duì)象的模板,它可以將數(shù)據(jù)成員、方法和其他類封裝在一起,從而創(chuàng)建自定義類型。使用C#編程,實(shí)質(zhì)上就是編寫自己的類來描述解決問題。如果類沒聲明為靜態(tài)類,客戶端代碼就可以創(chuàng)建類的“對(duì)象”,從而使用該類。如果類聲明為靜態(tài)類,客戶端代碼只能通過該類自身而不是“對(duì)象”訪問該類。1)類的聲明使用任何新的類之前必須使用class關(guān)鍵字進(jìn)行聲明,一旦類被聲明,就可以當(dāng)作一種新的類型來使用。聲明格式如下:類修飾符class類名{//字段,屬性,方法和事件可以寫在此處...}1.1C#引入【知識(shí)提煉】
2)類的繼承繼承是面向?qū)ο蟮闹匾匦灾?。繼承是通過使用“派生”來實(shí)現(xiàn)的,而派生意味著類是使用“基類”聲明的,它的數(shù)據(jù)和行為是從基類繼承。通過在派生的類名后面追加冒號(hào)和基類名稱,可以指定基類,如下示例所示publicclassclassChild:newClassName{//繼承了newClassName的字段,屬性,方法和事件。//classChild類的字段,屬性,方法和事件可以寫在此處。}1.1C#引入【知識(shí)提煉】
對(duì)象對(duì)象是具有數(shù)據(jù)、行為和標(biāo)識(shí)的編程結(jié)構(gòu),他面向?qū)ο蟮囊粋€(gè)重要組成部分。對(duì)象是基于類的具體實(shí)體,有時(shí)稱為類的實(shí)例,包含變量成員和方法成員。比如人類,每個(gè)人都是人類的一個(gè)對(duì)象。通過使用new關(guān)鍵字,并在后面跟隨類的名稱,可以創(chuàng)建基于類的對(duì)象,如下示例所示newClassNameobject1=newnewClassName();1.1C#引入【知識(shí)提煉】
命名空間命名空間的設(shè)計(jì)目的是在一個(gè)命名空間中聲明的類名與另一個(gè)命名空間中聲明的相同的類名不沖突。如果要調(diào)用某個(gè)命名空間中的類或者方法,首先需使用using關(guān)鍵字引入命名空間,using指令將命名空間內(nèi)的成員引入到當(dāng)前編譯單元中,從而實(shí)現(xiàn)直接調(diào)用被引入的成員。1.1C#引入【知識(shí)提煉】
注釋代碼注釋的主要功能是對(duì)某行或某段代碼進(jìn)行說明,方法對(duì)代碼后期的維護(hù)和修改,程序編譯時(shí)不進(jìn)行編譯。C#注釋代碼分為單行注釋和多行注釋。單行注釋在注釋的行數(shù)較少,常用單行注釋,單行注釋以“//”開頭。若對(duì)于連續(xù)多行的代碼進(jìn)行注釋則使用多行注釋。多行注釋以“/*”開始,以“*/”結(jié)束,注釋的內(nèi)容在之間。1.1C#引入classProgram{staticvoidMain(string[]args){Console.WriteLine("物聯(lián)網(wǎng)編程與應(yīng)用");Console.ReadLine();}}classProgram{/*注釋開始staticvoidMain(string[]args){Console.WriteLine("物聯(lián)網(wǎng)編程與應(yīng)用");Console.ReadLine();}
注釋結(jié)束*/}【知識(shí)提煉】
屬性在C#中我們可以自由訪問公有(public)字段,但在某些情況下,我們希望限制字段讀、寫,或是在改變字段時(shí)能變換對(duì)象的其他狀態(tài),單靠公有s字段是無法實(shí)現(xiàn)的,但屬性就可解決這些問題。屬性中包含set或get,set負(fù)責(zé)屬性的寫入,get負(fù)責(zé)屬性的讀取,屬性中set和get至少有一個(gè)。屬性是類、結(jié)構(gòu)和接口的成員。例如Student類,帶有age、name和school的私成員(限定為private),不能在類以外的范圍直接訪問私有成員,但可以訪問這些私成員的公有屬性。1.1C#引入【知識(shí)提煉】
this關(guān)鍵字類似VB當(dāng)中的Me,this關(guān)鍵字代表當(dāng)前類的實(shí)例。在靜態(tài)成員函數(shù)中,不具有this指針,在靜態(tài)方法中引用this是錯(cuò)誤的。1.1C#引入publicclassStudent{publicstringName;publicintAge;publicStudent(stringname,intage)//構(gòu)造函數(shù){this.Age=age;//將參數(shù)age賦值個(gè)當(dāng)前對(duì)象的Age屬性this.Name=name;//將參數(shù)name賦值個(gè)當(dāng)前對(duì)象的Name屬性}}【能力拓展】
制作登錄界面,登錄成功后進(jìn)行跳轉(zhuǎn),使用屬性進(jìn)行讀寫,在界面上顯示當(dāng)前登錄用戶名。完善書本代碼,實(shí)現(xiàn)上述功能1.1C#引入【自主探究】修改模塊功能使其成為多用戶登錄系統(tǒng),系統(tǒng)內(nèi)包含10個(gè)用戶,具有如下功能:十個(gè)用戶能分別登錄與退出。用戶對(duì)象存儲(chǔ)數(shù)據(jù),使用屬性控制字段的讀寫。1.1C#引入IOTPartC#面向?qū)ο筇匦匀蝿?wù)02【任務(wù)描述】面向?qū)ο缶幊淌情_發(fā)程序的一種新思想。之前的編程語(yǔ)言把所有代碼都包含在幾個(gè)模塊當(dāng)中,程序難以閱讀和維護(hù)。而面向?qū)ο蠹夹g(shù)更貼近人類語(yǔ)言,使用了多模塊,每個(gè)模塊都只提供特定的功能,它們彼此獨(dú)立,提高了代碼的重用性,有利于為日后的維護(hù)、升級(jí)。面向?qū)ο缶哂校悍庋b、繼承、多態(tài)的特性。通過本任務(wù)的實(shí)施使學(xué)生初步理解C#面向?qū)ο蟮难b箱與拆箱、多態(tài)性、List、Dictionary的使用,為后續(xù)項(xiàng)目的開發(fā)做好準(zhǔn)備。1.2C#面向?qū)ο筇匦猿绦蜻\(yùn)行界面
1.2C#面向?qū)ο筇匦越缑婵丶O(shè)置控件名稱控件類型屬性名屬性值控件功能Form1窗體Textc#入門基礎(chǔ)
groupBox1組合框Text簡(jiǎn)易計(jì)算器
txtNum1文本框
輸入數(shù)字1txtNum2文本框
輸入數(shù)字2cmboxType下拉框
選擇運(yùn)算符BtnCalculate按鈕Text=計(jì)算結(jié)果txtResult文本框ReadOnlyTrue顯示計(jì)算結(jié)果groupBox2組合框Text類的多態(tài)性
txtDispaly文本框
btnDisplay按鈕Text顯示
【任務(wù)實(shí)施】
創(chuàng)建新項(xiàng)目,創(chuàng)建界面,參照教材圖1-10與表1-5;參照教材代碼,在當(dāng)前窗體類中定義方法,實(shí)現(xiàn)裝箱拆箱操作;參照教材代碼,添加BtnCalculate按鈕單擊事件,調(diào)用裝箱拆箱方式,計(jì)算結(jié)果;參照教材代碼,在工程中新建People類,定義虛方法;參照教材代碼,在工程中新建Chinese類,繼承People類,重寫父類中的虛方法;參照教材代碼,在工程中新建American類,繼承People類,重寫父類中的虛方法;參照教材代碼,添加btnDisplay按鈕單擊事件,通過分別對(duì)Chinese類和American類實(shí)例化,調(diào)用Speak方法。1.2C#面向?qū)ο筇匦浴局R(shí)提煉】
裝箱和拆箱C#中所有的類型都是繼承Object類,通過裝箱和拆箱任何值類型就被當(dāng)作Object引用類型,實(shí)現(xiàn)值類型與引用類型的互相轉(zhuǎn)換。裝箱:實(shí)際上就是將值類型轉(zhuǎn)變?yōu)橐妙愋偷倪^程。例如,下面代碼將string類型的變量str進(jìn)行裝箱操作。拆箱:實(shí)際上就是將引用類型轉(zhuǎn)變?yōu)橹殿愋偷倪^程。例如,下面代碼將string類型變量str賦值到obj對(duì)象中,最后進(jìn)行拆箱操作。1.2C#面向?qū)ο筇匦浴局R(shí)提煉】
多態(tài)重載(overload):在同一個(gè)類的兩個(gè)或多個(gè)方法名相同,但參數(shù)列表不同的方法叫做重載。虛方法(virtual)與重寫(override):父類中一個(gè)方法聲明帶有virtual關(guān)鍵字,那么這個(gè)方法就是虛方法。虛方法由子類重寫實(shí)現(xiàn),需要用override關(guān)鍵字。1.2C#面向?qū)ο筇匦浴局R(shí)提煉】
ListList<T>可用于對(duì)列表的搜索、排序等操作方法,T代表數(shù)據(jù)類型。1.2C#面向?qū)ο筇匦悦Q說明Count獲取
List<T>當(dāng)前列表中實(shí)際存儲(chǔ)的元素個(gè)數(shù)。Capacity獲取或設(shè)置當(dāng)前列表中能容納的元素總數(shù),Capacity總是大于或等于
Count。常見屬性【知識(shí)提煉】
1.2C#面向?qū)ο筇匦悦Q說明Add將對(duì)象添加到
List<T>的結(jié)尾處。AddRange將指定集合的元素添加到
List<T>的末尾。Clear從
List<T>中移除所有元素。Contains確定某元素是否在
List<T>中。CopyTo(T[])將整個(gè)
List<T>復(fù)制到兼容的一維數(shù)組中,從目標(biāo)數(shù)組的開頭開始放置。Find搜索與指定謂詞所定義的條件相匹配的元素,并返回整個(gè)
List<T>中的第一個(gè)匹配元素。IndexOf(T)搜索指定的對(duì)象,并返回整個(gè)
List<T>中第一個(gè)匹配項(xiàng)的從零開始的索引。Insert將元素插入
List
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026 年中職康復(fù)技術(shù)(物理治療)試題及答案
- 兒童大腦開發(fā)題目及答案
- IT系統(tǒng)集成合同協(xié)議2025年智能
- 2024年中考道德與法治(安徽)第二次模擬考試(含答案)
- 2025年海南省公需課學(xué)習(xí)-生態(tài)環(huán)境損害賠償制度改革方案解析65
- 2025年質(zhì)量月質(zhì)量知識(shí)競(jìng)賽試題集及答案(共90題)
- 2025年?duì)I養(yǎng)健康顧問知識(shí)競(jìng)賽題庫(kù)及答案(共160題)
- 2025年安全生產(chǎn)知識(shí)問答題及答案(共60題)
- 武生院思政考試題及答案
- 品質(zhì)組長(zhǎng)考試題庫(kù)及答案
- 2025醫(yī)療器械檢測(cè)行業(yè)全面分析及質(zhì)量監(jiān)管與發(fā)展趨勢(shì)報(bào)告
- 中國(guó)葡萄膜炎臨床診斷要點(diǎn)專家共識(shí)2025
- 2025年國(guó)家開放大學(xué)(電大)《護(hù)理倫理學(xué)》期末考試復(fù)習(xí)題庫(kù)及答案解析
- 幼兒園每日消毒及安全管理操作規(guī)范
- 11.1黨和人民信賴的英雄軍隊(duì)課件-2025-2026學(xué)年統(tǒng)編版道德與法治八年級(jí)上冊(cè)
- 企業(yè)勞動(dòng)用工風(fēng)險(xiǎn)防范操作指南
- DB37-T 5337-2025 建筑隔震減震裝置檢測(cè)技術(shù)規(guī)程
- 立德樹人教育教學(xué)課件
- 餐飲宴會(huì)服務(wù)標(biāo)準(zhǔn)流程全流程管理方案
- 甲方安全技術(shù)交底
- 化療藥物輸注規(guī)范
評(píng)論
0/150
提交評(píng)論