学习 Unity 3D游戏开发日常笔记(C# 第三周)
周一 | 周二 | 周三 | 周四 | 周五 |
---|---|---|---|---|
面向对象(类、属性、方法(函数)) | 静态:static | Sealed | 接口 | 总结面向对象 |
构造函数 | 静态类 | 虚方法 | 显示实现接口 | |
析构函数 | 单例 | 抽象方法和抽象类 | 知识点 | |
总结:结构体和类之间的区别 | 继承 | 虚方法和抽象类的选择 | 索引器 | |
类字段保护(属性) | 什么叫全局变量? | 重载运算符 | ||
什么叫局部变量? |
2019.7.22(一)
面向对象:
类:是对相同属性和行为的一个抽象描述,是对某一个群体的综合描述
属性:这个对象所特有的特征
方法(函数):这个对象所拥有的行为
构造函数:是类进行构造一个对象的函数;是一个对象的起始,在堆中开辟区域;
- 在构造对象时直接通过构造函数重载方法对对象初始化,构造函数必须通过new调用,构造函数名必须和类名一致,没有返回类型;
- 当我们类中没有写构造函数时,系统会默认添加一个无参构造函数;如果类中有有参构造,那么系统不会给添加一个默认无参构造函数;
- This在构造函数中的另一种用法:
析构函数:
这个对象销毁所执行的方法,我们一般不写,系统会自动添加。当系统调用垃圾回收时,系统会调用析构函数回收内存区域;
总结:结构体和类之间的区别:
- 结构体对象时值类型的,类对象是引用类型的;
- 类如果没有构造函数,默认添加一个无参构造,如果有有参构造,那么默认不会添加无参构造;
结构体不能自己添加无参构造,是默认添加的,如果有了有参构造,系统还是会给添加无参构造; - 结构体有参构造函数需要当前结构体所有属性进行完全赋值;类不需要;
- 类的属性可以赋默认值,结构体不能赋默认值;
类字段保护:
Get:是得到的意思,在get方法中返回return对应的值给调用处,
Set:是value值是外界赋值给Age的值,我们可以再set方法中进行一次筛选,选择是否赋值给age;
2019.7.23(二)
静态:static:
①静态类型的变量是类最先加载到内存区域的;(静态方法不可以调用非静态方法,但是非晶态方法可以调用静态方法);
②静态变量或者方法,不是对象所单独拥有的;是所有对象共有的;通过类名、属性或者方法直接访问;
③静态区域的内容,是整个类中最后销毁的,也就是说不能乱声明静态属性或方法;
静态类:
单例 ---- 用于管理类,比如GameManager;
静态类 ---- 用于工具类,写工具给其他开发者调用的,比如系统提供的Console.ReadLine();
- 静态类在项目一运行就加载到内存;
- 静态类声明周期最长,所以整个项目中,能不写静态类就不写;
- 静态类是整个项目所共享的,静态类方法在整个项目中都可以通过类名调用;