第2章 C#程序设计基础.

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

C#程序设计案例教程 第3章 程 序 结 构.
Tool Command Language --11级ACM班 金天行.
第14章 c++中的代码重用.
第10讲 Java面向对象编程基础(4) 教学目标 主要内容.
第九章 字符串.
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
C#程序设计基础 $5 流程控制.
.NET 程式設計入門(使用 C#) 講師:鄧智鴻.
第二章 C# 基础知识.
第四章 在 C# 中实现 OOP 概念.
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
第4章 面向对象编程方法 王德俊 上海交通大学继续教育学院.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
程序设计期末复习 黎金宁
第三章 流程控制與例外處理 資訊教育研究室 製作 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
走进编程 程序的顺序结构(二).
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
第二章 Java语言基础.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
C++语言程序设计 第二章 C++简单程序设计.
泛型委托 泛型接口、方法和委托.
C#程序设计基础 第二章 数据类型.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第七章 操作符重载 胡昊 南京大学计算机系软件所.
第三章 C# 基础知识.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第4章 PHP流程控制语句.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
第二章Java基本程序设计.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
第二章 Java基本语法 讲师:复凡.
VB与Access数据库的连接.
第二章 Java基本语法 讲师:复凡.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
第4章 Excel电子表格制作软件 4.4 函数(一).
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
第二章 Java语法基础.
第九节 赋值运算符和赋值表达式.
3.16 枚举算法及其程序实现 ——数组的作用.
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
本节内容 结构体.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
第2章 Java语言基础.
C#快速導讀 流程控制.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第二章 Java基础语法 北京传智播客教育
顺序结构程序设计 ——关于“字符串”和数值.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
考察点:switch\while\for System.in\Scanner char vs int
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
Presentation transcript:

第2章 C#程序设计基础

2.1 创建第一个C#程序 C#是微软公司专门为.NET平台量身定做的编程语言。 通过C#能够创建任何一种.NET应用程序 Windows程序 Web程序 Windows服务 Web服务 DLL类库等。

2.1 创建第一个C#程序 【例2-1】 创建一个个C#程序。 要求:通过控制台输出“欢迎学习C#语言!”。

2.1 创建第一个C#程序 操作步骤 : 启动Visual Studio 2005,创建新项目

2.1 创建第一个C#程序 操作步骤 : IDE自动创建一个控制台应用程序的框架,添加如下代码: 启动调试。 static void Main(string[] args) { Console.WriteLine("欢迎学习C#语言!"); }

2.2 语法简介 2.2.1 数据类型 C#的数据类型主要分为两大类: 值类型的变量直接包含其数据,而引用类型的变量则存储对象引用。 2.2 语法简介 2.2.1 数据类型 C#的数据类型主要分为两大类: 值类型(Value Type) 引用类型(Reference Type) 值类型的变量直接包含其数据,而引用类型的变量则存储对象引用。 对于值类型,每个变量都有自己的数据副本,对于一个变量的操作不可能影响到另外的变量。对于引用类型,两个变量可能引用同一对象,因此对于一个变量的操作可能影响另一个变量所引用的对象。 C#语法规定:声明变量时要指定变量的数据类型。

2.2 语法简介 1. 值类型 值类型包括以下3种: 1)简单类型 简单类型主要包括整数类型、布尔类型、字符类型和浮 点类型等。 2.2 语法简介 1. 值类型 值类型包括以下3种: 简单类型 枚举类型 结构类型 1)简单类型 简单类型主要包括整数类型、布尔类型、字符类型和浮 点类型等。 int j=214; //定义一个int类型变量 int i=2147483647; //定义一个int类型变量 float abc=3.45; //定义一个float类型变量 char bc=”A”; //定义一个char类型变量

2.2 语法简介 2)枚举类型 枚举类型用来对一组在逻辑上密不可分的整数值提供记忆符号。声明枚举类型的关键字是enum。例如: 2.2 语法简介 2)枚举类型 枚举类型用来对一组在逻辑上密不可分的整数值提供记忆符号。声明枚举类型的关键字是enum。例如: 上面的语句声明了一个WeekDay类型的枚举变量,拥有7个元素,默认的第一个元素(即Sunday)值为0,第2个元素值为1,依次递增。 enum WeekDay{Sunday,Monday,Tuesday,Wednesday, Thursday,Friday,Saturday}

2.2 语法简介 2)枚举类型 也可以改变第一个元素的值,但是必须是int类型。如下: 2.2 语法简介 2)枚举类型 也可以改变第一个元素的值,但是必须是int类型。如下: 此时Sunday的值为11,Monday的值为12,依次递增。枚举类型以int类型作为默认数据类型。 enum WeekDay{Sunday=11,Monday,Tuesday,Wednesday, Thursday,Friday,Saturday}

2.2 语法简介 【例2-2】 使用枚举类型。 enum WeekDay { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; static void Main(string[] args) { Console.WriteLine(WeekDay.Monday); WeekDay myWeekDay = WeekDay.Saturday; Console.WriteLine(myWeekDay); }

2.2 语法简介 3)结构类型 结构类型将一组相关的信息存放在一起。把一系列相关的变量组织成为一个单一实体的过程被称为生成结构的过程,这个单一的实体的类型被称为结构类型。 结构类型通过关键字struct声明。

2.2 语法简介 【例2-3】 使用结构类型。 struct student { public string name; //定义学生姓名 2.2 语法简介 【例2-3】 使用结构类型。 struct student { public string name; //定义学生姓名 public string sex; //定义学生性别 public string age; //定义学生年龄 } static void Main(string[] args) student myStudent; //声明结构类型变量myStudent myStudent.name = "张华"; myStudent.sex = "男"; myStudent.age = "19"; Console.WriteLine("姓名:{0}\n性别:{1}\n年龄:{2}\n", myStudent.name, myStudent.sex, myStudent.age);

2.2 语法简介 2. 引用类型 引用类型包括以下5种: object类型 string类型 代理类型 接口类型 数组类型

2.2 语法简介 1)object类型 object类型是一种根类型,C#中所有的类都直接或间接的继承object类,因此object类型的变量可以赋予任何类型的值。例如: 下面3种object类的方法,在其它类中同样可用: equals():判断两个object实例是否相等。 getType():获取当前实例的类型。 Tostring():返回当前实例的字符串。 object obj; //定义一个object类型的变量 obj=245; //将int型数值赋给该变量 obj=”欢迎”; //将string型值赋给该变量

2.2 语法简介 2)string类型 string类型是一种专门用来操作字符串的引用类型。 例如: 2.2 语法简介 2)string类型 string类型是一种专门用来操作字符串的引用类型。 例如: 在C#中使用“+”作为字符串连接符,例如: string strC=strA+strB; //将字符串 ”欢迎”与字符串”123”相连,结果为”欢迎123” string strA=”欢迎”; //定义一个string类型的变量,并赋值 string strB=”123”;

2.2 语法简介 2)string类型 string类型的相等与不相等运算符分别是==和!=,例如: 2.2 语法简介 2)string类型 string类型的相等与不相等运算符分别是==和!=,例如: string strD=”abcdefg”; string strE=”cdefg”; string strF=”abcdefg”; strD==strF; strE!=strF;

2.2 语法简介 3)代理类型 在C#中可以通过delegate关键字声明一个代理类型的变量,该变量可以指代一个函数或者方法。 2.2 语法简介 3)代理类型 在C#中可以通过delegate关键字声明一个代理类型的变量,该变量可以指代一个函数或者方法。 delegate int a(); //定义一个代理变量 public int sayHello() //定义一个方法 { Console.WriteLine("欢迎你!"); return 0; } static void Main(string[] args) Program p = new Program(); //定义一个Program类的实例 a myA = new a(p.sayHello); //用a代理变量定义另一个代理变量,并赋值 myA(); //调用代理变量

2.2 语法简介 4)接口类型 接口是一组包含函数方法的数据集合。通过接口类型变量可以实现类似于类的多重继承的功能。 2.2 语法简介 4)接口类型 接口是一组包含函数方法的数据集合。通过接口类型变量可以实现类似于类的多重继承的功能。 通过关键字interface关键字可以声明接口类型变量,在接口中可以有0或多个元素,这些元素都是public的。 接口也可以继承一个或多个父接口,子接口继承所有父接口中的属性和方法。

2.2 语法简介 5)数组类型 数组是一组类型相同的相关数据的集合,将这些数据按数组存储,使它们具有统一的名称,这样就可以省去为几十个、甚至成百上千个数据取变量名的麻烦,而且使用起来相当灵活方便。数组通过下标进行访问,下标的索引从0开始,数组中所有的元素的数据类型必须相同。

2.2 语法简介 5)数组类型 一维数组的声明和初始化语法如下: 数据类型[] 数组名=new 数据类型[数组值] 2.2 语法简介 5)数组类型 一维数组的声明和初始化语法如下: 数据类型[] 数组名=new 数据类型[数组值] int[ ] age=new int[4]{18,17,19,17}; string[ ] name=new string[3]{“Tom”,”Rose”,”Mike”}; int[ ] age=new int[ ]{18,17,19,17}; string[ ] name=new string[ ]{“Tom”,”Rose”,”Mike”}; int[ ] age={18,17,19,17}; string[ ] name={“Tom”,”Rose”,”Mike”};

2.2 语法简介 2.2.2 数据类型转换 在应用程序的开发中经常需要在各种类型的简单变量之间进行数据类型转换,这种转换分为两种方式,一个是隐式转换,一个是显式转换。 隐式转换 隐式转换不需要编写任何代码,由编译器自动进行类型转换。取值范围比较小的类型可以隐式的转换到取值范围大的那个类型上。按照如下的类型顺序进行隐式转换。例如:byte类型的数据可以隐式的转换为int类型,反之则不可以。 byte → short → int → long → float → double byte bData = 10; int iData = bData; //数据类型由byte型转换为int型

2.2 语法简介 显式转换 显式转换也称强制转换,明确要求编译器把某种类型转化为另外一种类型。 2.2 语法简介 显式转换 显式转换也称强制转换,明确要求编译器把某种类型转化为另外一种类型。 使用显示转换时,不用按照隐式转换中的类型顺序,只要求类型之间具有一定的联系即可(比如都是数字),例如: 显示转换可能会造成数据丢失,使用时要特别注意。 int iData = 20 ; byte bData = (byte)iData ;

2.2 语法简介 另外某些情况下,经常需要将字符串转换为数值,或者将数值装换为字符串,方法如下: 将数值转换为字符串 2.2 语法简介 另外某些情况下,经常需要将字符串转换为数值,或者将数值装换为字符串,方法如下: 将数值转换为字符串 每个类都有一个ToString()方法,通过这个方法可以方便的将数值转换为字符串,例如: 将字符串转换为数值 将字符串转换为数值可以通过Parse()函数或者Convert类,例如: int iData=20; string sData=iData.ToString(); // sData值为”20” string sData=”20”; //定义一个字符串变量 float fData=float.Parse(sData); //将字符串类型转换为float型 int iData=Convert.ToInt16(sData); //将字符串类型转换为int型

2.2 语法简介 2.2.3 变量和常量 变量可以看做是内存中存储数据的盒子,它所存储的数据可以根据需要随时改变。在C#语言中声明变量的语法如下: 数据类型 变量名 例如: int intSum; string strName;

2.2 语法简介 C#语言对大小写是敏感的,同样一个字母,大小写代表两个意思。变量的命名规范如下: 变量必须以字母或下划线开头。 2.2 语法简介 C#语言对大小写是敏感的,同样一个字母,大小写代表两个意思。变量的命名规范如下: 变量必须以字母或下划线开头。 变量名中不能包含空格、标点符号和运算符等符号 变量名不能与C#中的关键字重名。

2.2 语法简介 常量用来存储程序中经常需要处理的固定数据,它与变量的最大区别是,一旦定义了某个常量,就不能再更改其值。在C#中使用const关键字来声明常量,语法如下: const 数据类型 常量名 例如: public const string strEmail=”wbx@163.com”; public const int intType=234 ;

2.2 语法简介 2.2.4 运算符 运算符按照功能区分,主要分为算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符等。 1. 算术运算符

2.2 语法简介 2. 关系运算符 3.逻辑运算符

2.2 语法简介 4. 三元运算符 三元运算符(?:)实际上是一种缩写的条件语句。其结构如下:A ?:B:C 2.2 语法简介 4. 三元运算符 三元运算符(?:)实际上是一种缩写的条件语句。其结构如下:A ?:B:C 即,若表达式A的值为true,则返回B的值,否则返回C的值 bool bSex = true; string sSex = bSex ? “男” : “女” ; // bSex的值为true, // 因此返回值为”男”

2.2 语法简介 2.2.5 条件语句 1. if 语句 if语句是最常见的条件语句,分为单条件语句和多条件语句两种。 2.2 语法简介 2.2.5 条件语句 条件语句也称为选择语句或分支语句。其作用是:根据不同条件,执行不同的代码。 条件语句主要有if语句和switch语句两种。 1. if 语句 if语句是最常见的条件语句,分为单条件语句和多条件语句两种。

2.2 语法简介 1)单条件语句 单条件语句的语法有以下两种:条件语句主要有if语句和switch语句两种。 if (条件) 执行语句; 或 2.2 语法简介 1)单条件语句 单条件语句的语法有以下两种:条件语句主要有if语句和switch语句两种。 if (条件) 执行语句; 或 if (条件) { 执行语句1; } [ else 执行语句2; } ]

2.2 语法简介 1)单条件语句 单条件语句的语法有以下两种:条件语句主要有if语句和switch语句两种。 if (条件) 执行语句; 或 2.2 语法简介 1)单条件语句 单条件语句的语法有以下两种:条件语句主要有if语句和switch语句两种。 if (条件) 执行语句; 或 if (条件) { 执行语句1; } [ else 执行语句2; } ]

2.2 语法简介 【例2-5】 单条件语句。 int n; Console.WriteLine("请输入身高"); 2.2 语法简介 【例2-5】 单条件语句。 int n; Console.WriteLine("请输入身高"); n = int.Parse(Console.ReadLine()); if (n > 110) { Console.WriteLine("请购买全票!"); } else Console.WriteLine("可以购买半票!");

2.2 语法简介 2)多条件语句 多条件语句用于对多个条件进行判断,可以看成是单条件的嵌套。 if (条件1) { 执行语句1; } 2.2 语法简介 if (条件1) { 执行语句1; } [ else if (条件2) 执行语句2; } ] [ …… else if (条件n) 执行语句n; [ else 执行语句n+1; 2)多条件语句 多条件语句用于对多个条件进行判断,可以看成是单条件的嵌套。

2.2 语法简介 2. switch 语句 switch语句实现的功能类似于多条件的if语句。基本格式如下: switch (表达式) { 2.2 语法简介 2. switch 语句 switch语句实现的功能类似于多条件的if语句。基本格式如下: switch (表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; default: 缺省语句; break; }

2.2 语法简介 【例2-6】 switch语句。 Console.WriteLine("请选择午饭种类:"); 2.2 语法简介 Console.WriteLine("请选择午饭种类:"); Console.WriteLine("1.炒面"); Console.WriteLine("2.份饭"); Console.WriteLine("3.包子"); Console.WriteLine("请输入午饭的代码(1-3)"); int n = int.Parse(Console.ReadLine()); switch (n) { case 1: Console.WriteLine("你选择的是1.炒面"); break; case 2: Console.WriteLine("你选择的是2.份饭"); case 3: Console.WriteLine("你选择的是3.包子"); default: Console.WriteLine("选择错误"); } 【例2-6】 switch语句。

2.2 语法简介 2.2.6 循环语句 在程序设计时,如果一段程序需要反复执行,可以使用循环语句以简化操作。 C#提供了四种循环语句: 2.2 语法简介 2.2.6 循环语句 在程序设计时,如果一段程序需要反复执行,可以使用循环语句以简化操作。 C#提供了四种循环语句: for语句 do语句 while语句 foreach语句

2.2 语法简介 1. for 循环 for语句是C#中使用范围最广泛的循环语句,通常用于遍历操作。 2.2 语法简介 1. for 循环 for语句是C#中使用范围最广泛的循环语句,通常用于遍历操作。 所谓遍历,就是循环访问某个多值类型中的所有成员,例如输出某个数组中的所有元素的值。另外for循环语句也可以用于进行N次操作。 for语句的循环过程如下: 计算表达式1,为循环控制变量赋初值; 判断表达式2的值是否为true,若为true则执行循环体; 执行表达式3,改变循环控制变量的值; 判断表达式2的值是否为true; 依次类推,直到表达式2的值为false,则退出for循环。 for (表达式1 ; 表达式2 ; 表达式3) { 循环体; } 表达式1设置循环控制变量并赋初值;表达式2设置循环执行条件;表达式3设置某种规律以修改循环控制变量的值。

2.2 语法简介 【例2-7】 for语句。 要求:使用for循环求1+2+3+…+100的值。 2.2 语法简介 【例2-7】 for语句。 要求:使用for循环求1+2+3+…+100的值。 int i, sum = 0; // i为循环控制变量,sum为数据相加之和 for (i=1; i <= 100; i++) { sum += i; //即sum=sum+i Console.WriteLine(sum.ToString()); }

2.2 语法简介 2. do-while循环 for循环无论作为遍历循环,还是作为指定N次的循环,其循环次数是可以准确判断的。但是有的时候不清楚准确的循环次数,此时可以使用do-while循环,该循环体可以将循环语句至少执行一遍。基本语法格式是: do-while循环语句的循环过程如下: 首先执行循环体; 判断while条件是否为true,如果为true,则重新执行循环体,再判断while条件,依次类推,循环执行; 一旦while条件为false则跳出do-while循环。 do { 循环体; } while (条件) ;

2.2 语法简介 【例2-8】 do-while语句。 要求:产生一个50以内的随机整数,求从该数字开始 到50的所有数的和 。 2.2 语法简介 【例2-8】 do-while语句。 要求:产生一个50以内的随机整数,求从该数字开始 到50的所有数的和 。 Random r = new Random(); // 定义一个Random类的实例 r int intA, intB,intSum = 0; intA = Convert.ToInt32(r.Next(50)); // 通过r的Next方法获取不大于50的随机数 intB = intA; // 将随机数保存在intB变量内 do { intSum += intA; // intSum = intSum + intA intA++; // intA = IntA + 1 } while (intA <= 50); Console.WriteLine("随机数是" + intB + "," + intB + "至50之间数值之和是:" + intSum);

2.2 语法简介 3. while循环 while循环与do-while循环非常类似,区别在于将while条件放在的循环体之前,这样就会先判断while条件,只有while条件为true的情况下才会执行循环体。基本语法格式是: while (条件) { 循环体; }

2.2 语法简介 【例2-9】 while语句。 要求:产生一个50以内的随机整数,求从数值开始到50的所有数的和。 。 2.2 语法简介 【例2-9】 while语句。 要求:产生一个50以内的随机整数,求从数值开始到50的所有数的和。 。 Random r = new Random(); //定义一个Random类的实例 r int intA, intB, intSum = 0; intA = Convert.ToInt32(r.Next(50)); //通过r的Next方法获取 //不大于50的随机数 intB = intA; //将随机数保存在intB变量内 while (intA <= 50) { intSum += intA; //intSum = intSum + intA; intA++; //intA = IntA + 1 } Console.WriteLine("随机数是" + intB + "," + intB + "至50之间数值之和是:" + intSum);

2.2 语法简介 4. foreach 循环 同C/C++相比,foreach语句是C#语言中提供的一种新的循环语句。作用是提供一种简单的方法来循环访问数组或集合中的所有元素。基本语法格式是: foreach (循环变量数据类型 循环变量 in 数据集合) { 循环体; }

2.2 语法简介 【例2-10】 foreach语句。。 要求:使用foreach循环语句,显示数组中的所有元素。 2.2 语法简介 【例2-10】 foreach语句。。 要求:使用foreach循环语句,显示数组中的所有元素。 static void Main(string[] args) { int[] arrAll = new int[] { 1, 2, 3, 4, 5 }; foreach (int i in arrAll) Console.WriteLine(i); }

2.3 面向对象的基本概念 2.3.1 类和对象 C#语言是一种面向对象的语言,就是把程序中的各种实体当做实际生活中的事物的一种思维方式。 2.3 面向对象的基本概念 2.3.1 类和对象 C#语言是一种面向对象的语言,就是把程序中的各种实体当做实际生活中的事物的一种思维方式。 面向对象的语言通过“类”这个概念描述各种对象。每个类还有自己的属性、方法和事件。 例如: 汽车有很多类型,也有很多品牌,但是我们可以将其抽象为“汽车”这个概念,此时“汽车”就是一个类。 汽车的颜色、排量等属于汽车的属性;汽车可以开动、载人等属于汽车的方法;汽车发生撞车属于汽车的事件。

2.3 面向对象的基本概念 2.3.1 类和对象 类使用关键字class定义,class关键字后面跟着类的名称。定义类的基本语法格式是: 2.3 面向对象的基本概念 2.3.1 类和对象 类使用关键字class定义,class关键字后面跟着类的名称。定义类的基本语法格式是: 定义类的目的是使用类,但是类不能直接使用,必须先进行实例化。将类进行实例化的语法格式是: 其中,new是创建新对象的运算符。 class 类名 { 定义类的各种成员,如数据、函数等 } 类名 实例名 = new 类名();

2.3 面向对象的基本概念 2.3.2 命名空间 命名空间(namespace)是存放类的容器,提供了一种组织相关类和其他类型的方式。与文件或组件不同,命名空间是一种逻辑组合,而不是物理组合。 在C#文件中定义类时,可以把它包括在命名空间定义中。以后,在定义另一个类,在另一个文件中执行相关操作时,就可以在同一个命名空间中包含它,创建一个逻辑组合,告诉使用类的其他开发人员这两个类是如何相关的以及如何使用它们。 定义类的目的是使用类,但是类不能直接使用,必须先进行实例化。将类进行实例化的语法格式是: 其中,new是创建新对象的运算符。

2.3 面向对象的基本概念 2.3.3 修饰符 修饰符用于限定类型以及类型成员的申明。C#中有13种修饰符,按功能可分为三类:存取修饰符、类修饰符和成员修饰符。