《智慧校园系统》课件-项目1C#入门基础_第1页
《智慧校园系统》课件-项目1C#入门基础_第2页
《智慧校园系统》课件-项目1C#入门基础_第3页
《智慧校园系统》课件-项目1C#入门基础_第4页
《智慧校园系统》课件-项目1C#入门基础_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智慧校园系统项目1C#入门基础项目概述C#是微软公司基于C和C++编程语言衍生出来的一种面向对象的编程语言,程序员可以利用它快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列工具和功能来支持基于计算与通信领域的开发。C#在继承C和C++强大功能的同时去掉了它们的一些复杂性,并综合了VisualBasic的可视化操作和C++的高运行效率。本项目通过对Python的示例程序学习,逐步引入C#编程。通过对C#示例的学习,学生可以了解C#的特性,学会使用C#完成简单的编程,为后续智慧校园相关系统的开发做好准备。C#引入011.1C#引入Python是计算机类专业的学生必学的计算机编程语言之一;C是物联网专业的基础语言,学生学习了这两门语言后,已经掌握了编程的基本思想。本任务使用Python、C#两种语言分别制作登录程序,通过比较C#与Python的不同,了解C#的命名空间、属性、this等面向对象的概念。【任务描述】登录界面新增用户界面最终效果1.1C#引入新建Python工程,程序名称为“登录”,添加存储系统用户名与用户密码列表;参照教材代码,添加登录函数,检索用户名密码,如果正确则提示登录成功,否则提示登录失败;参照教材代码,添加新增用户函数;参照教材代码,添加主程序菜单选择功能,调用登录函数和新增用户函数。【任务实施-Python】1.1C#引入创建C#工程,打开控件工具栏,参照书本创建界面;参照教材代码,创建PublicData类,定义publicstaticstring[]SysUserName、publicstaticstring[]SysPwd、publicstaticintintNum{get;set;}、publicstaticintintUser{get;set;},分别用于存储系统用户名、存储系统用户密码、当前数据存储的用户数量、记录当前用户索引号。在Login窗体中,定义AddUseraddfrm=newAddUser()、publicboolIsLogin=false全局变量,实例化添加用户窗体与定义登录标识;参照教材代码,添加BtnOk按钮单击事件,实现用户名密码的检索判断;参照教材代码,添加BtnCancelk按钮单击事件,关闭窗体;参照教材代码,添加btnAdd按钮单击事件,显示添加用户窗体;在addfrm窗体中,添加BtnOk按钮单击事件,实现用户的添加。【任务实施-C#】1.1C#引入类“类”是一种数据结构,是创建对象的模板,它可以将数据成员、方法和其他类封装在一起,从而创建自定义类型。使用C#编程,实质上就是编写自己的类来描述解决问题。如果类没声明为静态类,客户端代码就可以创建类的“对象”,从而使用该类。如果类声明为静态类,则客户端代码只能通过该类自身而不是“对象”访问该类。1)类的声明使用任何新的类之前必须使用class关键字进行声明,一旦类被声明,就可以当成一种新的类型来使用。声明格式如下:【知识提炼】类修饰符class类名{//字段,属性,方法和事件可以写在此处...}1.1C#引入2)类的继承继承是面向对象的重要特性之一。继承是通过使用派生来实现的,而派生意味着类是使用基类声明的,它的数据和行为是从基类继承的。通过在派生的类名后面追加冒号和基类名称可以指定基类,示例如下:【知识提炼】publicclassclassChild:newClassName{//继承了newClassName的字段,属性,方法和事件。//classChild类的字段,属性,方法和事件可以写在此处。}1.1C#引入对象对象是具有数据、行为和标识的编程结构,是面向对象的一个重要组成部分。对象是基于类的具体实体,有时称为类的实例,包含变量成员和方法成员。比如,“人”类每个人都是“人”类的一个对象。通过使用new关键字并在后面跟随类的名称,可以创建基于类的对象,示例如下:【知识提炼】newClassNameobject1=newnewClassName();1.1C#引入命名空间命名空间的设计目的是使在一个命名空间中声明的类名与在另一个命名空间中声明的相同的类名不冲突。如果要调用某个命名空间中的类或者方法,则首先需使用using关键字引入命名空间,using关键字将命名空间内的成员引入当前的编译单元中,从而直接调用被引入的成员。【知识提炼】1.1C#引入注释代码注释的主要功能是对某行或某段代码进行说明,方法对代码后期的维护和修改,程序编译时不进行编译。C#注释代码分为单行注释和多行注释。单行注释在注释行数较少时使用,以“//”开头。对于连续多行的代码进行注释时使用多行注释。多行注释以“/*”开始,以“*/”结束,注释的内容在两个注释符号之间。【知识提炼】classProgram{staticvoidMain(string[]args){Console.WriteLine("物联网编程与应用");Console.ReadLine();}}classProgram{/*注释开始staticvoidMain(string[]args){Console.WriteLine("物联网编程与应用");Console.ReadLine();}

注释结束*/}1.1C#引入属性在C#中可以自由访问公有(public)变量,但在某些情况下,用户希望限制对变量的读、写,或是在改变变量时能变换对象的其他状态,仅靠公有变量是无法实现的,但属性就可解决这些问题。属性中包含set或get,set负责属性的写入,get负责属性的读取,属性中set和get至少有一个。属性是类、结构和接口的成员。例如,Student类带有age、name和school的私成员(限定为private),不能在类以外的范围直接访问私有成员,但可以访问这些私成员的公有属性。【知识提炼】1.1C#引入this关键字this关键字代表当前类的实例。在静态成员函数中,不具有this指针,在静态方法中引用this是错误的。示例如下:【知识提炼】publicclassStudent{publicstringName;

publicintAge;publicStudent(stringname,intage)//构造函数{

this.Age=age;//将参数age赋值个当前对象的Age属性

this.Name=name;//将参数name赋值个当前对象的Name属性}}1.1C#引入请完善书本代码,实现如下功能:制作登录界面,登录成功后进行跳转,使用属性进行读写,在界面上显示当前登录的用户名。【能力拓展】1.1C#引入修改模块功能使其成为多用户登录系统,系统内包含10个用户,具有如下功能:10个用户能分别登录与退出。用户对象存储数据,使用属性控制字段的读写。【自主探究】C#面向对象特性021.2C#面向对象特性面向对象编程是开发程序的一种新思想。面向过程的编程语言把所有代码都包含在几个模块中,程序难以阅读和维护。而面向对象技术更贴近人类语言,使用了多模块,每个模块都只提供特定的功能,它们彼此独立,提高了代码的重用性,有利于日后的维护、升级。面向对象具有封装、继承、多态的特性。通过本任务的实施,学生能初步理解C#面向对象的装箱与拆箱、多态性、List、Dictionary的使用,为后续项目的开发做好准备。【任务描述】程序运行界面最终效果1.2C#面向对象特性控件名称控件类型属性名属性值控件功能Form1窗体Textc#入门基础

groupBox1组合框Text简易计算器

txtNum1文本框

输入数字1txtNum2文本框

输入数字2cmboxType下拉框

选择运算符BtnCalculate按钮Text=计算结果txtResult文本框ReadOnlyTrue显示计算结果groupBox2组合框Text类的多态性

txtDispaly文本框

btnDisplay按钮Text显示

界面控件设置1.2C#面向对象特性创建新项目,创建界面,参照教材图1-10与表1-5;在当前窗体类中添加控件,完成界面布局;参照教材代码,新建方法,实现装箱拆箱操作;参照教材代码,添加BtnCalculate按钮单击事件,调用装箱拆箱方式,计算结果;参照教材代码,在工程中新建People类,定义虚方法;参照教材代码,在工程中新建Chinese类,继承People类,重写父类中的虚方法;参照教材代码,在工程中新建American类,继承People类,重写父类中的虚方法;参照教材代码,添加btnDisplay按钮单击事件,通过分别对Chinese类和American类实例化,调用Speak方法。【任务实施】1.2C#面向对象属性装箱和拆箱C#中所有的类型都是继承Object类,通过装箱和拆箱,任何值类型就被当作Object引用类型,实现值类型与引用类型的互相转换。装箱:实际上就是将值类型转变为引用类型的过程。例如,下面代码将string类型的变量str进行装箱操作。拆箱:实际上就是将引用类型转变为值类型的过程。例如,下面代码将string类型变量str赋值到obj对象中,最后进行拆箱操作。【知识提炼】1.2C#面向对象属性

多态重载(overload):同一个类的两个或多个方法名相同,但参数列表不同的方法叫做重载。虚方法(virtual)与重写(override):

如果父类中一个方法声明带有virtual关键字,那么这个方法就是虚方法。虚方法由子类重写实现,需要用override关键字。【知识提炼】1.2C#面向对象属性ListList<T>可用于对列表的搜索、排序等操作方法,T代表数据类型。其常见的属性和方法见下两表:【知识提炼】名称说明Count获取List<T>当前列表中实际存储的元素个数。Capacity获取或设置当前列表中能容纳的元素总数,Capacity总是大于或等于Count。常见属性1.2C#面向对象属性【知识提炼】名称说明Add将对象添加到List<T>的结尾处。AddRange将指定集合的元素添加到List<T>的末尾。Clear从List<T>中移除所有元素。Contains确定某元素是否在List<T>中。CopyTo(T[])将整个List<T>复制到兼容的一维数组中,从目标数组的开头开始放置。Find搜索与指定谓词所定义的条件相匹配的元素,并返回整个List<T>中的第一个匹配元素。IndexOf(T)搜索指定的对象,并返回整个List<T>中第一个匹配项的从零开始的索引。Insert将元素插入List<T>的指定索引处。InsertRange将集合中的某个元素插入List<T>的指定索引处。LastIndexOf(T)搜索指定的对象,并返回整个List<T>中最后一个匹配项的从零开始的索引。Remove从List<T>中移除特定对象的第一个匹配项。Reverse()将整个List<T>中元素的顺序反转。Sort()使用默认比较器对整个List<T>中的元素进行排序。TrimExcess将容量设置为List<T>中的实际元素数目(如果该数目小于某个阈值)。常见属性1.2C#面向对象属性

Dictionary类Dictionary类提供快速的基于键值的查找方式。Dictionary类里面的每一个元素都是一个键值对,键必须是唯一的,键和值都可以是任何类型。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论