总复习 C#&.Net.

Slides:



Advertisements
Similar presentations
项目7 面向对象高级.
Advertisements

Oracle数据库 Oracle 子程序.
C#程序设计 10软件1、2班 王槐彬 计算机工程学院.
類別與物件 Class & Object.
第7单元 面向过程编程—— 继承与多态.
第14章 c++中的代码重用.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
第10讲 Java面向对象编程基础(4) 教学目标 主要内容.
第九章 字符串.
Using C++ The Weird Way Something about c++11 & OOP tricks
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
第八章 C#高级编程.
Hadoop I/O By ShiChaojie.
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
C#程序设计 c# programming 多线程 C#程序设计课程组.
第14章 多线程和异步程序设计 14.1 多线程程序设计 14.2 异步程序设计.
第三章 C#面向对象初级编程 面向对象得程序设计越来越受到编程人员的喜爱。类和对象是面向对象程序设计中的重要概念。封装性、继承性和多态性是面向对象的特点,本章旨在全面说明C#编写面向对象程序设计的方法。
第三章 在C#中实现面向对象的概念.
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
C#面向对象程序设计 $7 继承和多态性.
第6章 继承和接口设计 6.1 继 承 6.2 多态性 6.3 抽象类 6.4 接口 6.5 接口在集合排序中的应用.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第八章 WinForms控件.
$16 进程和线程. $16 进程和线程 进程 进程 属性 ProcessName / Id MachineName / MainModule BasePriority StartTime / ExitTime TotalProcessorTime / UserProcessorTime PrivateMemorySize64.
第二章 Java语言基础.
C#程序设计基础 第二章 数据类型.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第六章 属性、索引器、委托和事件.
P2P聊天工具.
第七章 操作符重载 胡昊 南京大学计算机系软件所.
第三章 C# 基础知识.
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
第7章 繼承/多型/介面 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
C++复习3 ----类的继承与派生.
C#面向对象程序设计 $6 深入理解类.
C#程序设计基础 $3 成员、变量和常量.
21世纪高职高专规划教材 C#语言程序设计 李继武 彭德林 主 编 张 珑 赵 松 周建辉 副主编
VB与Access数据库的连接.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第4章 Excel电子表格制作软件 4.4 函数(一).
本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
iSIGHT 基本培训 使用 Excel的栅栏问题
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
辅导课程十五.
第7章 模板 陈哲 副教授 南京航空航天大学 计算机科学与技术学院.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
Presentation transcript:

总复习 C#&.Net

大纲 .Net框架 VS.Net开发环境 C#基础知识 实现OOP 继承和多态 属性、索引器、委托、事件 WinForm基础知识 调试和异常 多线程 集合 文件

第一阶段 .NET Framework 的体系结构 VC++.Net C# VB.Net VJ# … .Net Framework 类库 (FCL) 公共语言运行时 (CLR) 操作系统

.NET Framework 的组件 .Net Framework .Net Framework 类库 CLR Web Forms Web Services WinForms ASP.NET ADO.Net 和 XML 类 基本框架类 CLR CLS CTS

第三阶段 C# 的基础知识 C# 中的数据类型分为两个基本类别 值类型 引用类型 表示实际数据 只是将值存放在内存中 值类型都存储在堆栈中 int、char、枚举、结构 引用类型 表示指向数据的指针或引用 包含内存堆中对象的地址 为 null,则表示未引用任何对象 类、接口、数组、字符串

装箱和拆箱 2-1 装箱是将值类型转换为引用类型 拆箱是将引用类型转换为值类型 利用装箱和拆箱功能,可通过允许值类型的任何值与 Object 类型的值相互转换,将值类型与引用类型链接起来

枚举 枚举(Enum,Enumerator 的缩写)是一组已命名的数值常量 用于定义具有一组特定值的数据类型 枚举以 enum 关键字声明 public class Holiday { public enum WeekDays Monday, Tuesday, Wednesday, Thursday, Friday } public void GetWeekDays (String EmpName, WeekDays DayOff) //处理工作日 static void Main() Holiday myHoliday = new Holiday(); myHoliday.GetWeekDays ("Richie", Holiday.WeekDays.Wednesday); Wednesday = 2

结构类型初步 定义: struct Point_self { short x,y; } struct RectArea { Point_self LeftTop; Point_self RightBottoms; public void Drawing(){ } } 引用分量 p1.x=5; p1.y=10; p2.x=p1.x; p2.y=p1.y+5; 说明职员信息的结构

类初步 C#的所有代码都是在某一个类中 对于对象的操作全部通过引用进行 struct Point_self { short x,y; } class RectArea { Point_self LeftTop; Point_self RightBottoms; public void Drawing(){ } }

结构和类的比较 有默认的构造函数 没有默认的构造函数 有析构函数 没有析构函数 必须使用new初始化 可以不使用new初始化 可以被继承 不能被继承 堆中(引用类型) 栈中(值类型) 类 结构

第四阶段 实现OOP 修饰符 说明 public internal protected private 所属类的成员以及非所属类的成员都可以访问 internal 同一程序集可以访问 protected 所属类或派生自所属类的类型可以访问 private 只有所属类的成员才能访问

方法重载 重载方法有两种方式 指定不同个数的参数 指定不同类型的参数 public void AreaCal(int radius) public void AreaCal(int length, int breadth) public void AreaCal(int radius) public void AreaCal(string shapeName)

操作符重载 重载操作符意味着使该操作符具有不同的行为 使用操作符可以使方程式简单易懂 语法:访问修饰符 static 返回类型 operator 被重载操作符(参数列表) … // 第 1 行 int result = Decimal.Add(54, 200); // 第 2 行 int result2 = 54 + 200;

命名空间 6-4 语法 namespace 命名空间的名称 { // 该名称空间的所有类都放在这里。 } 在声明命名空间时前面不应加任何访问修饰符

程序集 .net生成的有两种类型的文件(*.exe,*.dll)。 *.exe文件代表应用程序,*.dll代表类库,不管是*.exe还是*.dll都是程序集。 程序集是.net生成文件的统称,程序集是构成逻辑功能单元的类型和资源的集合。

第五阶段 继承 X 不允许多重继承 允许多重接口实现 public class Graduate: Student, Employee { // 成员变量 // 成员函数 } 允许多重接口实现

:base 关键字将调用 Person 类构造函数 public class Student:Person { private uint id; //调用 Person 构造函数 public Student(string name,uint age,uint id):base(name,age) this.id = id; Console.WriteLine(id); } :base 关键字将调用 Person 类构造函数

关键字 new 相同字段 隐藏继承成员 //要求 new 访问修饰符 new //将执行派生类的变量 将输出派生类中的 val

关键字virtual & override 基类 派生类 Class Base { // 成员变量 int basevar; // 成员函数  // 成员变量 int basevar;  // 成员函数 public virtual void GetInfo()  // 定义 } ……. base 方法的新实现 Class Derived : Base { // 成员变量 int derivedvars; // 成员函数 public override void GetInfo() // 定义 } …….

抽象类和抽象方法 2-1 访问修饰符 abstract class ClassOne { //类实现 } 不能实例化 派生类的基类

接口 4-4 public interface IPict { int DeleteImage(); void DisplayImage(); } 无访问修饰符 示例中的 IPict 接口用于演示接口

第六阶段 [access_modifer] datatype PropertyName { get{ }; set{ }; } 读/写属性 可以赋值和检索值

索引器 语法 [access_modifer]type this[datatype identifier] { get{}; set{};

委托 委托和方法必须具有相同的签名 可以引用任何方法,将在运行时决定 Multiply(int,int) { …. } --- Divide(int,int) --- public delegate Call(int num1, int num2); 委托和方法必须具有相同的签名

事件 public delegate void delegateMe(); 语法 [访问修饰符] event 委托名 事件名; public delegate void delegateMe(); private event delegateMe eventMe;

第七阶段 WinForms基础知识 WinForms可用于 Windows 窗体应用程序开发 Windows 窗体控件是从 System.Windows.Forms.Control 类派生的类 标签控件用于显示用户不能编辑的文本或图像 按钮控件提供用户与应用程序交互的最简便方法 组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目 窗体提供了收集、显示和传送信息的界面,是 GUI的重要元素 消息框显示消息,用于与用户交互

第八阶段 WinForms控件 WinForms单选按钮控件允许用户进行设置 WinForms的图片框控件允许用户在窗体上添加和显示位图、元文件、JPEG、GIF 或 PNG 等格式的图形 WinForms的选项卡控件将类似的功能集中在一起,放在一个对话框或窗口中 WinForms的 HScrollBar 和 VScrollBar 用作水平和垂直滚动条,分别以水平和垂直方式浏览(或滚动)整个文档 进度条控件用于指示操作的进度,并显示排列在水平条中一定数目的矩形,通常通过在程序中设置其Value值来显示任务完成的百分比

第九阶段 调试是搜寻和消除应用程序中的错误的过程 语法错误表示编译器无法理解代码 调试模式可用来重复编译和排除应用程序中的错误,直至能够成功运行 “局部变量”窗口允许用户监控当前程序中所有变量的值 单元测试和集成测试是测试大型应用程序的常用技术 当应用程序遇到运行时错误时,就会引发异常 C# 中的所有异常都派生自 Exception 类

第十阶段 Thread 引用System.Threading 命名空间 只创建但不启动线程 线程实例名.Start(); ThreadStart 线程启动委托名 = new ThreadStart(方法名) Thread 线程实例名 = new Thread(线程启动委托名 ); 运行在线程上的方法 只创建但不启动线程 线程实例名.Start();

Thread 类的属性和方法 2-2 属性 CurrentThread IsAlive Name Priority ThreadState Sleep() Start() Join() Abort() Interrupt() Suspend() Resume() 静态 静态

线程的生命周期 未开始 开始,Start 已开始 恢复 正在运行 中断,Interrupt 挂起,Suspend 加入,Join 休眠,Sleep 停止,Abort 已中断 已停止 挂起 加入 休眠 继续,Resume

调度线程 2-2 ThreadPriority 枚举 成员 说明 AboveNormal 安排在优先级为 Highest(最高)的线程之后,以及优先级为 Normal(普通)的线程之前。 BelowNormal 安排在优先级为 Normal(普通)的线程之后,以及优先级为 Lowest(最低)的线程之前。 Highest 安排在任何其他优先级的线程之前。 Lowest 安排在任何其他优先级的线程之后。 Normal 安排在优先级为 AboveNormal 的线程之后,以及在优先级为 BelowNormal 的线程之前。默认情况下,线程的优先级为 Normal(普通)。

线程同步:lock语句 lock语句的语法: lock语句的功能: 对象锁机制保证了对象访问的完整性:只有一个线程完成操作后,其它线程才能进行操作。 一般情况下,当一个线程写某个变量,而同时可能有其他线程读或写这个变量时,应该使用对象锁机制。

线程安全性 线程安全 线程安全性就是保护类的成员和代码的安全,从而使它们不会同时被几个线程中断 如果类中的成员和代码受到保护而不会被几个线程中断,则这个类称为线程安全的类 void DoTask() { lock(this) ... } 线程安全

十一阶段 System.Array 对象 集合对象的特点和优点 System.ArrayList 对象 哈希表对象

十二阶段 文件处理 IO 命名空间包含便于在数据流和文件中读取和写入数据的类 类名 功能和用途 Directory、File、DirectoryInfo以及FileInfo 创建、删除并移动目录和文件,通过属性获取特定目录和文件的相关信息 Stream 所有流的抽象基类。流是字节序列的抽象概念 BinaryReader、BinaryWriter 读写二进制数据 StreamReader 、StreamWriter 读写文本数据信息