C#第八天

60 阅读4分钟

声明结构体中的变量

1.减少重复定义声明变量的操作 2.更好整理和维护

结构体变量使用public修饰符,这样才可以公开被访问

image.png 每个由结构体类声明的结构体类型数据互不影响

image.png

委托

委托类型声明:

(1) 以deleagate关键字开头。

(2)返回类型+委托类型名+参数列表。

例如:

image.png

image.png

面向对象

为什么要面向对象编程

我们可以将程序模块块,进行模块划分,每个模块提供特定的功能,这样每个模块都是独立的,互不影响,比如我们创建一个动物类,规定了所有动物都有走路的动能,或者性别的属性等等,如果我们想创建一个动物,比如猫,这个时候我们可以使用该类中有的方法和字段,那如果想创建一个狗对象同样可以用该类生成,同样也会有类中的方法,但这时候狗中的方法和属性都是独立和猫中的方法和字段互不影响,我们从这里可以明显看到面向对象可以提高代码的复用性,我不需要重复的定义函数和变量。

类的基本定义

image.png

image.png

构造函数

构造函数是类中和类同名的一个方法,当创建对象的时候自动调用该方法,一般用于初始化数据

image.png

image.png 构造函数中也可以调用对象中的方法,获取对象中的返回值存到对象的字段中

image.png

3.属性和字段

1.字段

image.png

  1. 属性的定义

image.png

  1. 属性的特点
  • 访问属性和访问字段一样,当取得属性的值得时候,就会调用属性中的get块执行get块中的语句,所以get块需要一个返回值,类型就是属性的类型;当我们去给属性设置值得时候,就会调用属性中的set块,我们可以在set块中通过value访问到我们设置的值

image.png 设置只读或者只写,如果我们给属性只设置get块那么就是只读,如如果只设置set块那么就是只写 4. 两个访问修饰符

  • public公开的的,访问最高权限
  • private私有的,只能在类或者结构体内部中使用

image.png

使用其他项目中的类

image.png

image.png 注意:想要使用其他项目中的命名空间中的类,那么该类的访问修饰符要设置为public公开的形式

匿名类型

当我们不确定数据的类型的时候,我们可以使用关键字var声明变量,那么该变量的类型就由初始化赋的值决定,如果赋的是字符串那么就是字符串类型

image.png

属性和字段

1.字段

image.png

  1. 属性的定义

image.png

image.png

  1. 属性的特点
  • 访问属性和访问字段一样,当取得属性的值得时候,就会调用属性中的get块执行get块中的语句,所以get块需要一个返回值,类型就是属性的类型;当我们去给属性设置值得时候,就会调用属性中的set块,我们可以在set块中通过value访问到我们设置的值

image.png 设置只读或者只写,如果我们给属性只设置get块那么就是只读,如如果只设置set块那么就是只写 4. 两个访问修饰符

  • public公开的的,访问最高权限
  • private私有的,只能在类或者结构体内部中使用

image.png

继承

1.为什么需要继承

很多类在项目中可能有相似的数据,比如在一个游戏中Boss类和小怪类Enemy这些类有很多相同的属性,比如血量,攻击值等,所以这个时候我们可以使用继承来让这两个类继承自同个类

实现继承的写法

image.png

image.png

注意:后裔调用的是子类中的方法 而宫本武藏调用的是父类中的方法 一个是ADC houyi; 一个是Hero gongben;而且两个人传的参数也不一样。

base关键字

  • 当我们使用继承的时候,可能子类中也会有相同的属性和方法,但是有的时候我们就想使用父类中的属性和方法,这时候我们可以使用base关键字,base表示的就是父类,我们可以通过base.父类中的属性名来获取父类中的属性
  • base的第二个使用方式,将子类中的传进来的参数传递给父类的构造方法

image.png