系列文章目录
前言
类和结构是.NET通用类型系统中的两种基本构造,因此它们的重要性也就可想而知了。本文章将详细的介绍类的定义,结构的定义,类和结构的相同点与不同点,两者的声明格式。如果有任何说的不对的地方,请在评论区留言或私聊。
一、定义
类是什么?
既然类在C#中占有及其重要的地位,那我们要先知道类的定义,简单来说,就是类是什么东西?
先来看看微软官方对于类的定义:
1.本质上是一种数据结构,其中封装了同属一个逻辑单元的一组数据和行为。 数据和行为是类或结构的成员,包括方法、属性和事件等。
2.类或结构声明类似于一张蓝图,用于在运行时创建实例或对象。
3.类是引用类型。 创建类的对象后,向其分配对象的变量仅保留对相应内存的引用。 将对象引用分配给新变量后,新变量会引用原始对象。 通过一个变量所做的更改将反映在另一个变量中,因为它们引用相同的数据。
这是从微软文档上节选的对类的定义,可以看到类和结构是密不可分的,它们有很多相似的地方,但也有不同的地方,暂且先抛开这些抽象的理论。
有些人遇到这样的文档就会觉得头大,以下是我看文档的一些经验和总结。看到任意一篇文档基本都可以用4步解决。
- 根据名称从大段的文字中找到你所需要的部分。比如说我们要找类的定义,那我们就只找它。
- 根据顺序将找到的话分成一个个小段。这步非常简单,只要像上面那样将找到的内容一一罗列出来就行了。如果找到的段落很长,那么你可能需要自己将它分个段落。
- 从每一小段中找到关键的字或词,并标记一下。像我在上文中一样,将关键字标红即可。如果实在不会找,总结性的语句一般会在段落的开头或结尾,这样一样也可以找到关键的段落。
- 总结,用自己的话将关键字组织起来就可以啦~~。
现在,我们来总结一下,
- 类是一种数据类型,是一种引用类型的数据类型。
- 类是一个蓝图,用来封装了一个或多个成员。
- 类仅在运行时,才会创建实例或对象。
如果你也想尝试一下自己总结,可以点击下面的链接。可以用我提供的方法试试,熟悉之后你可能会找到属于自己的方法。每个人应该有自己的记忆和理解方法,所以不必拘泥于别人的定义,甚至是官方的,这只是一种“参考答案”。你只需要在自己的总结上添加,而不是替换全部的内容,否定原来的答案,因为定义是人赋予的,没有哪个定义是本身就存在的,就正确的。
结构是什么?
一样先来看看微软的定义:
1.本质上是一种数据结构,其中封装了同属一个逻辑单元的一组数据和行为。 数据和行为是类或结构的成员,包括方法、属性和事件等。
2.类或结构声明类似于一张蓝图,用于在运行时创建实例或对象。
3.结构是值类型。 创建结构时,向其分配结构的变量保留结构的实际数据。 将结构分配给新变量时,会复制结构。 因此,新变量和原始变量包含相同数据的副本(共两个)。 对一个副本所做的更改不会影响另一个副本。
结构和类在1,2两点上完全一致,这会造成很多初学者觉得,既然这两个东西一样为什么要设计两个呢。这一点将在之后进行讲解,现在让我们来总结一下结构的定义,
- 结构是一种数据类型,是一种值类型的数据类型。
- 结构也是一张蓝图,可以封装一个或多个成员</