C# class 类是什么东西?

class,类,就是一个类型,一个抽象。

  • 比如奔驰、宝马、丰田、本田,将他们抽象一下,就可以定义一个class类叫做“小汽车”。
  • 在往下追溯,宝马X1,X2,X3,X4,X5,这些型号,将他们抽象一下,就可以定义一个class类叫做“宝马”。
  • 在往上追溯,小汽车、公交车、消防车,将他们抽象一下,就可以定义一个class类叫做“车”。
  • 如此看来,根据颗粒度的不同,定义类是可以随意的,你只要找到一个共同特性,将他们关联起来,就可以定义一个类。

但是,为什么要定义类呢?

  • 类是变量的升级版本。
  • 理论上,可以在一个class里面写所有的变量和方法。但这样,管理和使用会很麻烦,就像没有分类整理的图书馆一样。于是,我们要分类整理。
  • 所有,什么时候新建变量,什么时候新建类呢?
  • 新建的变量与本类密切相关,如果一堆变量和方法可以成为一个比较独立的存在就将他们全部提取成一个新类。
  • 举个例子,班级要统计分数,要建一个类AllStudentsScore,全体同学分数类。里面有变量string studentName,int studentNum,bool studentSex,float mathScore,float ChineseScore,float EnglishScore,这些变量中float mathScore,float ChineseScore,float EnglishScore,可以提取成一个类Score,这个类中有变量上述三个,还可以加入方法,这些方法就是只为了处理这三个变量的,比如算三科平均分,算三科总分。
  • 然后,在AllStudentsScore直接调用类Score,可以方便知道某同学的各科成绩、平均分、总分,都是在Score里直接实现,而AllStudentsScore直接使用而已。

泛型?

  • 因为要抽象,要泛型。
  • 当我们写一个方法时,方法里面会定义变量,比如int a,string b,bool c,一定要定义才能用。
  • 比如我写一个创建方格子的方法,里面填入int a。那如果我要在方格里填入string b时,我就要修改方法了。我不想这么麻烦,于是用到泛型。
  • 将方法中的int 用T代替,这样后面可以用string 、bool、int 任意类型来替换T这个泛型。
  • string、bool这些就是定义了的类,一种类型,而T就是一个未定义的类,一种泛型。T可以代替任何一种类型。

你可能感兴趣的:(Unity,C#基础知识)