前面我们学习完了C#中简单的数据类型----值类型,后面学习C#中另一个数据类型----引用类型, "引用" 这个词在这里的意思是,该类型的变量不直接存储所包含的值,而是指向他所要存储的值,也就是说 引用类型储存的是变量的地址 。C#中的引用类型有4种:
类
代表
数组
接口
在这里我先大致的介绍下各自的意义与定义的方式,后面我会具体写实例来详细介绍。
类
类是面向对象编成的基本单位,是一种包含数据成员、函数成员和嵌套类型的数据结构。类的数据成员有常量、域、和事件;函数成员包括方法、属性、索引指示器、运算符、构造函数、析构函数;类和结构(struct)同样都包含了自己成员,但他们之间最主要的区别在于:类是引用类型,而结构是值类型。类支持继承机制,通过继承派生类可以扩展基类的数据成员和函数方法,进而达到代码重用与设计重用的目的。(有关类的继承、派生会放在后面细说,下一篇会写类的定义),当您定义一个类时,您定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,(因为是地址嘛) 但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例。构成类的方法和变量成为类的成员。如果我们对某个类定义了一个变量,我们称它为类的一个实例(也可以叫对象,总之以后就的改口啦)。再提一下,C# 中2个常用的类 Object类 和 String类,也放在后面细说。
代表
C# 中的代表(也叫委托,Delegate),它与C/C++中的指针类似,但是指针在C/C++中是不安全的,有可能一个意外的删除会造成整个程序的崩溃,而Delegate在C#中是安全的。Delegate 引用的是某个方法,派生自 System.Delegate 类,当定一个Delegate 就是对System.Delegare的扩展。具体有关用法后面细说。
数组
在进行批量处理数据的的时候,我们会用到数组,与C/C++一样,数组是一组类型相同的有序数据,用来存储数据的集合,按照 数组名、数据元素的类型和维数 来描述。C#中提供的System.Array是所有数组类型的基类。数组中某个指定的元素是通过索引来访问的。所有的数组都是由连续的内存位置组成的。最低的地址对应第一个元素,最高的地址对应最后一个元素。
接口
接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分。接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。抽象类在某种程度上与接口类似,但是,它们大多只是用在当只有少数方法由基类声明由派生类实现时。(也就是说接口中只提供方法的声明,具体怎么做由继承他的子类来决定。比如我给5个人每人100元,他们拿这100元具体干什么就不关我的事了,我只负责提供钱)接口使用interface 关键字声明,它与类的声明类似。接口声明默认是 public 的。通过接口可以实现多重继承。(后面细说)
以上就是C#学习日记12---数据类型 之 引用类型(前言)的内容,更多相关内容请关注PHP中文网(www.php.cn)!