面向对象程序设计-第2章_第1页
面向对象程序设计-第2章_第2页
面向对象程序设计-第2章_第3页
面向对象程序设计-第2章_第4页
面向对象程序设计-第2章_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计(C#)第二章C#语法基础2/12目录任务2.1利用C#实现系统欢迎菜单界面任务2.2编写C#分支结构程序任务2.3编写C#循环结构程序3/12任务2.1利用C#实现系统欢迎菜单界面21知识目标能力目标C#程序结构输出语句搭建开发环境完成菜单制作4/122.1.1情境描述Jack承接了Jam运动商城的信息化系统建设,作为信息化系统建设而言,采取具体的计算机语言对管理系统进行实现是不可逾越的环节。Jack决定采取C#语言完成系统,在他成功搭建了C#开发环境之后,他决定采取C#控制台项目来编写运动商城欢迎菜单界面,为了实现C#控制台菜单界面,他需要完成以下任务:1)设计运动商城进入界面2)利用搭建的环境新建C#项目3)认识C#程序基本结构4)编写C#语句5)编译及运行C#程序第1章目录5/12提到C#语言是伴随微软.NET平台问世,是一个全新的开发体系,任何一个初学者,学习C#语言就的搭建开发平台及开发环境,采用安装VisualStudio2010开发工具,能够成功实现.NET4.0平台搭建及C#程序的编写、编译工作。利用VisualStudio2010工具,可以创建C#控制台项目、窗体项目、Web项目等不同应用场景。利用C#控制台程序进行运动商城欢迎界面,首先需要设计运动商城欢迎界面,设计的界面初步可以显示欢迎界面,并提示系统的进入操作及退出操作等功能。具体设计界面如下图2-1所示。而作为菜单界面,主要功能就是利用C#的输出方法将菜单显示到显示器中,因此欢迎菜单界面的主要知识点仅仅是输出方法。C#中,输出方法主要通过控制台类Console类的Write及WriteLine方法实现界面显示。作为初学者,开始需要掌握在什么地方编写相应的程序代码。第1章目录2.1.2问题分析1)安装VisualStudio2010开发工具。2)在VisualStudio2010下创建C#控制台项目

打开VisualStudio2010,选择“文件菜单”->新建项目,进入新建项目页面,选择VisualC#下的控制台应用程序,项目名称修改为EPOS(若有需要,则可选择更改存储位置),点击“确定”按钮。如图2-2所示:第1章目录2.1.3解决方案7/123)新建CMainMenu类,用于实现主要的系统菜单界面及菜单操作。

选中右边的解决方案资源管理器中的EPOS项目,右键->添加->类,进入新建类的页面,名称修改为“CMainMenu.cs”,点击确定按钮完成新建类操作。如图2-3所示:第1章目录2.1.3解决方案8/124)添加主函数,并输出主菜单

staticvoidMain(string[]args){//输出语句,在屏幕中输出主菜单

Console.WriteLine(“**************运动商场EPOS系统********************");Console.WriteLine("1:登录系统");Console.WriteLine("2:退出系统");Console.WriteLine(“**************************************************")Console.WriteLine("请选择,输入数字:");}

第1章目录2.1.3解决方案9/125)运行项目第1章目录2.1.3解决方案10/122.1.4知识总结1、C#简介C#(读作“CSharp”)是微软公司开发的一种基于.NET应用的语言,是一种面向对象的编程语言(OOP)。它的功能强大、编程灵活,和其他所有的编程一样,它也可以用于创建各种应用程序。C#从C和C++派生而来,但却是完全重新开发的。微软公司借用了C和C++中一些已有的概念,并加入了新特性。这些特性使语言更容易使用,其中的许多特性与Java极其类似。此外,它还结合了Delphi和VisualBasic的很多优秀特性。(1)简单。C#消除了诸如Java和C++等语言中复杂的东西和缺陷,其中包括宏、模板、多重继承和可视化基类。(2)面向对象。C#支持面向对象的3种编程原则:封装、继承和多态性。C#去掉了全局函数、全局变量和全局常数,而是将它们都封装在一个类中;C#去掉了多重继承,利用多个接口隐式地实现多重继承。(3)强大灵活。C#可用于创建字处理程序、图形、电子表格,甚至其他语言的编译器。(4)类型安全。C#去掉了指针,从根本上保证了程序的稳定性和类型安全。第1章目录11/122.1.4知识总结2、C#程序结构在前面的任务中,创建一个控制台应用程序后,代码编辑窗口中出现的代码,是一个控制台应用程序的基本框架,它是VisualStudio.NET自动生成的。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;

namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){//}}}第1章目录12/122.1.4知识总结(1)关键字在C#代码中常常使用关键字,也叫保留字,是对C#有特定意义的字符串。关键字在VisualStudio.NET环境的代码视图中默认以蓝色显示。如代码中的using、namespace、class、static、void等,均为C#的关键字。(2)命令空间命名空间提供了一种组织相关类和其他类型的方式,与文件和组件不同,命名空间是一种逻辑组合。命名空间有两种:一种是系统命名空间,一种是用户自定义命名空间。系统命名空间是在VisualStudio.NET平台提供的系统预定义的基本数据类型和类(包括方法成员)类型资源,以供用户进行程序设计时使用。系统命名空间使用using关键字导入,上述代码中的System就是VisualStudio.NET中最基本的命名空间。用户自定义命令空间使用namespace关键字声明,上述程序中的“ConsoleApplication1”就是用户自定义命名空间。第1章目录13/122.1.4知识总结(3)类与C++核VB不同,C#是完全面向对象的编程语言,这意味着C#中的所有函数都必须封装在一个类中。class语句声明一个新的C#类。上述程序中的program类包含一个Main()函数。(4)Main方法C#程序必须包含一个Main方法,用于控制程序的开始和结束。用户可以在Main方法中创建对象和执行其他方法。Main方法是一个静态方法,可以具有void或int返回类型。声明Main方法时既可以不使用参数,也可以使用参数,后一种形式使程序可以读取命令行参数。(5)注释注释常被用来提供关于程序清单的描述性信息,以使程序具有可读性。注释语句不参与程序的执行。第1章目录14/122.1.4知识总结3、.NET与C#1)什么是.NETMicrosoft.NET是微软推出的开发平台,是一种面向网络并能支持各种用户终端的集成开发环境。它的想法是:利用.NET将计算的重点由一个单独的设备和Web站点通过Internet简单相连的世界转变成一个由设备、服务程序和计算机协同工作的世界,以便为用户提供更加丰富和完善的解决方案。Microsoft.NET方案由以下四个关键部分组成:.NET构件块服务,即对某些特定服务程序的访问,例如用于文件存储的服务、日历管理或Passport.NET。.NET设备软件,是运行于新型Internet设备之上的软件。.NET用户体验,包括如自然界面、信息代表和智能标签这样的功能,这些技术可以自动建立超级链接,这些链接指向与用户创建的文档中的单词或短语相关的信息。.NET基础结构,由.NET框架、MicrosoftVisualStudio.NET、.NET企业服务器和MicrosoftWindows.NET组成。第1章目录15/122.1.4知识总结2).NET框架.NET框架实际上是一个运行在Windows系列操作系统上的一个系统应用程序,它采用一种全新的网络计算机模式,通过标准的Internet协议如XML和SOAP等,解决了异质平台上的分布式松耦合计算问题。.NET框架体系结构如图2-1所示,它由以下四个主要部分组成:公共语言运行时(CommonLanguageRuntime,简称CLR);统一类库(BaseClassLibrary);数据库访问组件(ADO.NET和XML);活动服务器页面(ASP.NET)。第1章目录16/122.1.5应用实践通过前面的学习,我们知道了C#的程序结构的组成元素,了解了C#开发环境的一些知识,那么我们就利用所知道的知识开发一个简单的C#程序来巩固所学知识。创建一个图书管理系统登陆界面。第1章目录17/12任务2.2编写C#分支结构程序21知识目标能力目标If语句利用if语句控制菜单转向18/122.2.1情境描述任务2.1仅仅完成了运动商城系统欢迎界面显示功能,未能完成运动商城欢迎界面的界面功能选择功能及相对应的界面调整功能,为了欢迎菜单能够正常运行,为此他需要完成以下任务:1)完善欢迎菜单界面中的操作功能2)实现登录菜单设计与实现3)实现欢迎界面转向到登录界面;4)编译及调试,保证系统正常运行。第1章目录19/122.2.2问题分析完善欢迎菜单的操作,也就是实现人机交互,控制台的人机交互功能需要通过键盘等输入设备向计算机输入数据,计算机通过外界输入的数据,决定程序的执行过程。在C#中可以通过Console.ReadLine或者Console.ReadKey实现输入。对于欢迎菜单的操作,外界输入的数据不同,执行的操作也就不同,故需要使用分支语句来实现选择。登录菜单属于系统的另外一个界面,就其登录界面而言,需要用户输入登录名及登录密码。故在界面设计时,可以采取图2-6的模式进行设计,从技术上讲,登录菜单充分应用了输入、输出方法及分支语句。在完成了2个界面的设计及操作之后,需要实现2个界面的转向操作,C#语言可以采取在同一个类中调用函数的模式实现界面的跳转。第1章目录20/122.2.3解决方案1、重构形成FirstMenuDisplay方法打开任务2.1的案例,选中Main函数中的代码,选择重构菜单->提取方法(或者使用快捷方式Ctrl+R,Ctrl+M)进入方法重构窗体,修改方法名称为:FirstMenuDisplay。如下图2-7所示:第1章目录21/122.2.3解决方案第1章目录22/122.2.3解决方案2、编制登录界面在登录菜单中,除了计算机显示的提示信息以外,还需要用户从键盘输入登录的用户名及密码。从键盘输入数据应采用Console.ReadLine();或者Console.Read();具体代码如下:第1章目录23/122.2.3解决方案2、编制登录界面第1章目录24/122.2.3解决方案4、在FirstMenuDisplay方法中添加选择控制

classCMainMenu{//略

privatestaticvoidFirstMenuDisplay(){stringctrl="";//控制变量,保存输入的选择项

Console.WriteLine(***************运动商场EPOS系统********************");Console.WriteLine("1:登录系统");Console.WriteLine("2:退出系统");Console.WriteLine(****************************************************")Console.Write("请选择,输入数字:");

ctrl=Console.ReadLine();//接收来自键盘的输入选项if(ctrl=="1")//判定输入项,转入不同的菜单LoginDisplay();//调用用户登录菜单elseExitDisplay();//调用退出系统菜单}第1章目录25/122.2.3解决方案5、调试及运行

第1章目录26/122.2.4知识总结1、数据类型在程序设计中,难免要对数据进行处理,而数据又有不同的种类,如整数、小数、单个字符、多个字符、真假等等,这些种类不同的数据就叫数据类型。C#支持两种数据类型:值类型和引用类型。值类型变量直接含有它们的数据,而引用类型的变量存储对数据的引用。这里重点介绍值类型,引用类型将在后面的任务中引出。C#的值类型可以分为三种:简单类型、结构类型和枚举类型。第1章目录27/122.2.4知识总结2)结构类型上面介绍的简单类型都只包含一种类型信息,可以进行一些常用的数据运算和文字处理。但在实际的处理对象中,有许多信息是由多个不同类型的数据组合在一起进行描述的,而且这些不同类型的数据又互相联系组成了一个有机的整体,此时就要用到结构类型。例如,某单位要开发一个人事管理系统,一个人事记录包括职工姓名、年龄、联系电话、家庭住址等项,这些数据项都是与某一个职工相联系的。此时,就可以定义一个职工worker结构类型,在这个结构类型中包括职工姓名、年龄、联系电话、家庭住址,这样就可以用一个结构类型的变量来存放某个职工的所有相关信息。第1章目录28/122.2.4知识总结2、变量与常量程序在处理数据时,必须将数据保存在计算机的内存中。保存在内存中的数据从可变性看,分为常量和变量两种。1)标识符标识符是用户定义的名字,可以用作变量名、函数名以及类型名等。C#语言的标识符名称定义的要求与C++语言是基本一致的,必须遵守以下规则:(1)所有的标识符只能由字母、数字和下划线这三类字符组成,而且第一个字符必须为字母或下划线。(2)标识符中不能包含空格、标点符号、运算符等其他符号。(3)标识符不能与C#关键字名相同。(4)标识符区分大小写。(5)标识符不能与C#中的类库名相同。第1章目录29/122.2.4知识总结2)变量变量时计算机内存中被命名的数据存储单元,其中存储的值是可以改变的。在程序中通过变量名来引用其中存储的信息。变量的类型决定了存储在变量中的数值的类型。在程序中通过变量取值,实际上就是通过变量名找到相应的内存地址,再从中读取数据或存入数据。(1)变量的命名通常,变量的命名只要符合标识符的命名规则即可,但在实际应用中,为了保证程序具有良好的风格,变量名最好使用具有实际意义的英文单词进行组合,提高程序的可读性。(2)声明变量在C#中,变量必须先声明后使用。事实上,在C#中所有的名称都必须先声明后使用,包括常量名、方法名、类名、对象名等标识符。第1章目录30/122.2.4知识总结2.运算符与表达式表达式是用于计算的运算符和操作数的组合,它用于提供特定的信息。一个表达式中通常包括一个或多个运算符以及至少一个操作数。C#支持下列表达式:算术表达式、逻辑表达式、关系表达式、赋值表达式、条件表达式等。运算符是代表一个操作的符号,而操作数是参与运算的对象。比如,在表达式“a+b”中,a和b是操作数,“+”是运算符。第1章目录31/122.2.4知识总结3、分支控制语句一个C#的程序中包括许多的语句。在撰写C#应用程序时,可以使用“{”与“}”符号将这些语句分组。C#中用来控制分支结构的语句有两种:if语句和switch语句。1)if语句if语句的语法格式一般为:if(表达式)

语句1else

语句2

第1章目录32/122.2.4知识总结2)switch语句当分支情况很多时,虽然if语句的多层嵌套可以实现,但会使程序变得冗长且不直观。针对这种情况,C#提供了switch语句,用于处理多分支的选择问题。其语法格式为:switch(控制表达式){case常量表达式1:

语句块1case常量表达式2:

语句块2

……case常量表达式n:

语句块ndefault:

语句块n+1}

第1章目录33/122.2.5应用实践在前面学习的基础上,通过本实践,充分理解并运用分支结构语句,创建C#应用程序。使用分支控制语句,实现对成绩等级的评定第1章目录34/12任务2.3编写C#循环结构程序21知识目标能力目标While循环For循环Dowhile循环利用循环完善菜单35/12内容提要4IPO组成1235分支结构循环结构符号绘制循环结构流程图36/122.3.1情境描述通过任务2.1、2.2及2.2扩展联系,Jack成功实现了多个界面菜单的界面及菜单操作,但他却发现,菜单的交互及菜单的转向操作仅仅能够操作一次,未能达到菜单的作用,为了实现操作界面的重复展示,他需要完成以下任务:1)认识循环机制2)完善系统菜单第1章目录37/122.3.2问题分析Jack的菜单之所有只能执行一次,原因在于他在处理菜单操作时没有能够执行重复操作的语句,所以他需要使用循环结构的语句来实现菜单操作。以第一个菜单操作为例,只有当用户输入2的情况下,系统才结束运行,该循环属于循环次数未知,故可以采用dowhile或者while循环来修改当前菜单。第1章目录38/122.3.3解决方案1、修改FirstMenuDisplay方法

打开完成任务2.2应用实践练习之后的项目,在工作区中打开CMenu.cs类文件,在FristMenuDisplay中添加循环控制操作。privatestaticvoidFirstMenuDisplay(){

stringctrl="";

do{

Console.Clear();//输出语句,在屏幕中输出主菜单Console.WriteLine(************运动商场EPOS系统*******************");Console.WriteLine("1:登录系统");Console.WriteLine("2:退出系统");Console.WriteLine(************************************************")Console.Write("请选择,输入数字:");ctrl=Console.ReadLine();if(ctrl=="1")LoginDisplay();

}while(ctrl!="2");}第1章目录39/122.3.3解决方案2、修改MainDisplay菜单将光标移动到MainDisplay方法中,在现有的代码基础上,添加循环语句,主菜单操作的模式与第一个菜单操作方式相同publicstaticvoidMainDisplay(){stringctrl;while(true){Console.Clear();Console.WriteLine("***************运动商场EPOS系统主界面***********");Console.WriteLine("*1:基础信维护*");Console.WriteLine("*2:收银结算*");Console.WriteLine("*3:真情回馈*");Console.WriteLine("*4:信息查询及统计*");Console.WriteLine("*5:返回上级*");Console.WriteLine("*************************************************");Console.Write("请选择,输入数字:");ctrl=Console.ReadLine();switch(ctrl){case"1":BaseInfoDisplay();break;//调用基础信息维护界面case"2":PosMenuDisplay();break;//调用收银界面case"3":TestDisplay();break;//调用真情回馈界面case"4":SumDisplay();break;//调用统计界面

case"5":return;//输入5是结束当前方法,退回到调用该方法时}}},第1章目录40/122.3.3解决方案3、修改主界面下的二级菜单界面针对BaseInfoDisplay、SumDisplay、FeedBackDisplay进行菜单操作控制,按照菜单控制思想,修改具体操作菜单4、保存,运行程序第1章目录41/122.3.4知识总结C#提供while、do和for语句以执行重复循环的程序代码。使用这些语句在某个条件成立时,会重复执行特定的程序代码。1、for当要重复执行某区段的程序代码次数已知时,可以使用for语句。语法如下:for(初始值;条件判断式;更新值)

循环体for语句的执行过程为:1)计算初始值。2)判断条件判断式的值,若为假,则结束for循环,否则继续执行。3)执行循环体,然后更新值,转到第二步。第1章目录42/122.3.4知识总结2、while在循环次数不固定时,可以使用while循环。语法为:初始值while(条件式){

循环体}while循环的执行过程为:计算初始值。判断条件式的值,若为真,执行循环体,然后返回第一步。若条件式的值为假,while循环结束。第1章目录43/502.3.4知识总结3、do…whiledo循环通常搭配while一起使用。用法类似while循环,唯一不同的地方在于while会先判断条件,再决定要不要执行

温馨提示

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

评论

0/150

提交评论