您的位置:首页 > 编程语言 > C#

C#学前热身

2015-11-18 10:10 155 查看

面向对象程序设计基础

面向过程

打个比方:药店店员允许顾客自己去配中药,顾客会觉得不方便,而且可能会将原本井井有条的药品库搞乱。

理想的状态应该是:药品库对外人是不可以进入的,顾客买药的时候只要将需求告诉店员,店员取出药品包好送给顾客。

从而抽象出以下理想的外界访问数据源的方式:外界调用函数→数据被函数按照指定格式包装→函数将数据传给外界

面向对象

>类和对象

对象的三个特征:标识(对象名)、状态(即属性,静态特征)、行为(即提供的服务,动态特征)

构造方法(函数):负责在分配对象的存储空间的时候,输入对象的数据,即初始化一个对象

析构方法(函数):对象的生命期结束后,系统回收分配给对象的各种资源的过程

>抽象和封装

抽象:是对成员的分析和重新认识

封装:是成员重新组织的表现(换言之,封装的是数据和方法)

>类与类的关系

接口:产生原因:解决继承中的二义性问题

共同协作:对象请求——对象服务

消息机制:请求的格式、发出、传递、接收、回复(反映了调用对象的动态特征),故:面向对象程序=对象+消息

聚合:两个或多个对象间的协作关系

嵌套:在一个类中定义另一个类

>多态

多态:同一事物在不同场合具有不同作用的现象,即形式相同,实际动作不同(例如:我们继承了祖先理发这一行为,但是实际怎么理发,却需要重新定义)

按照发生的时机区分;编译时的多态、运行时的多态(只有运行时的多态才是真正的多态)

重载:指的是定义一个新方法,前提是在相同的作用域中已经存在相同的方法名的方法,重载的方法的差别在于方法的参数的数量和类型不同

隐藏:派生类中性定义的成员隐藏了基类中的同名成员

重写(覆盖):基类中的方法声明为虚方法,派生类继承了它,又同时改写了方法体中的程序(例如:理发的例子)

>关联、消息和委托

关联:执行过程中对象与对象的协作关系,是业务流程的体现,即:一个关联体现了一种业务关系

委托:解决如何在运行时动态决定消息接受者的机制

VS.NET简介

1、是提供开发环境的开发平台

2、核心是.NET框架

3、.NET类库又称基础类库(BCL),主要部分;数据结构、I/O管理、数据库访问、多线程、远程访问、反射……

4、开发.NET应用程序常用的环境有两个:SDK(软件开发工具包)和IDE(集成开发环境)

5、最大特色:支持跨语言集成,原因:(1)代码重用;(2)安全性;(3)跨操作系统

6、托管代码:由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为

7、程序集:

(1)具有一定的边界和进入边界的许可检查和授予机制;
(2)在一个程序集中的类型名只在该程序集中有效;
(3)形成了引用的边界;
(4)是最小的版本单位,也是可部署的最小单位

8、CLR、CLS和CTS
——CLR:公共语言运行库,运行代码并提供各种服务(托管代码在CLR上能充分享受到跨语言集成、跨语言异常处理、严格的安全措施、版本管理、便捷的部署、组件交互、错误检测和概要文档服务

——CLS:公共语言规范,是规则和约束,保证了用不同编程语言编写的类型之间的可交互操作性

——CTS:通用类型系统,内置在公共语言运行库中的类型系统,它支持大多数编程语言中存在的类型和操作,CTS定义的类型系统必须是完整的、面向对象的、能够被CLR正确的理解和执行。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息