本篇讲解类
【C#文档——类】
面向对象编程就是需要实现的功能或者需要解决的问题建立业务模型
对于面向对象编程来说:
类是一个抽象的数据集合,它可以定义一个实例对象所具有的属性与行为
根据类的定义我们可以知道类所具有基本功能:
上面所说的类太过抽象,在我一开始学习类的时候我是怎么理解的呢?
如同我们定义生物一般,在生物学上,我们也会给生物分类,这两个“类”是同一个意思吗?

我在百度百科搜索了一下猫
里面有这样一句话
一般的猫:头圆、颜面部短,前肢五指,后肢四趾,趾端具锐利而弯曲的爪,爪能伸缩,具有夜视性。
它定义了猫:
其中头、脸、四肢是猫的属性
夜视以及爪的伸缩是猫的行为
这样来看,定义生物的类与C#中的类在定义了属性与行为上是一致的
当我继续往下翻阅,看到了主要品种的介绍

首先,毫无疑问,这些品种都属于猫,而又更加细致化的描述了猫
生物学的类中,对于品种的细分简直就和类的继承一模一样
这些品种都属于猫的派生类,都继承了猫的特点
他们的属性都源于猫的定义
他们的行为也源于对于猫的定义
他们之间的区别只是属性与行为略有不同,这不就是多态的表现吗?
至此,生物学上的类与C#中的类,以及有3个地方是一样的
那么生物学上的类是否也可以**“实例化对象”**呢?
这个时候,我想到我家的宠物
它是一只猫
是一只狸花猫
它的名字叫“皮皮”
如果站在程序的角度看
“皮皮”不就是狸花猫实例化的对象吗?
只是生物学中,是先有的实例再有的类
而在C#中,我们是先描述了类,再创建了实例
所以他们是类似的,我们可以按照生物学中的类来理解C#中的类
值类型:基础类型、枚举、结构体都是创建的都是值类型,直接存储值
引用类型:用类创建的就是引用类型,存储对值的引用
访问权限体现了面相对象的封装性
类一般使用名词来命名,用动词命名的情况也有,但是较少