Font size
WorksheetsC#基础知识测验
Total questions: 25
Worksheet time: 35mins
面向对象的三大特征
封装
继承
多态
什么是装箱和拆箱
装箱:将值类型转换为引用类型
拆箱:将引用类型转换回值类型
C#的访问修饰符
Public:公有访问,不受任何限制,任何地方都可以访问
Private:私有访问,只能在声明它们的类和结构中访问
Protected:受保护访问,只能在声明它们的类和派生类中访问
Internal:内部访问,只能在同一个程序集中的所有类中访问
C#中的委托是什么
值类型变量和引用类型变量分别有什么
常见值类型:int、double、bool、char、float、decimal、结构体(struct)、枚举(enum)
常见引用类型:类(class)、接口(interface)、委托(delegate)、字符串(string)、数组(array)
值类型和引用类型的区别
值类型存储的是数据本身,分配在栈(Stack) 中。当一个值类型变量被赋值给另一个变量时,会复制值。
引用类型存储的是数据的地址(引用),实际数据存储在堆(Heap) 中。当一个引用类型变量被赋值给另一个变量时,会复制引用,即两个变量指向同一个对象。
接口和抽象类的区别
相同点:接口和抽象类都能定义属性和方法;接口和抽象类都不能直接创建对象;抽象类和接口的子类都必须实现里面的抽象方法
不同点:接口可以多继承,而抽象类只能单继承;抽象类中的方法,可以用protect和abstract修饰,而接口中,都是默认的public abstract修饰;抽象类可以像普通类一样有自己的普通方法,但是接口不可以;抽象类可以拥有自己的构造,接口没有构造,不能拥有
ref和out区别
相同点:传递对象的引用地址;让参数在函数内部修改后,外部也改变
不同点:初始化不同;Ref修饰的参数必须在方法外部初始化;out可以不初始化;内部赋值不同;ref修饰的参数可以不在方法内部赋值;out必须在内部赋值
List
泛型的主要优点?
(a)
事件与委托的关系?
Sealed的作用是?
Unity生命周期函数顺序?
生命周期函数执行时间
Awake:场景创建时或prefab实例化时调用,一般为了初始化游戏变量和游戏状态。仅执行一次。
OnEable:仅在游戏对象是可激活状态时调用,取消激活后再次激活也会响应。
Start:仅当启用脚本实例后(Awake 和 OnEnable执行后),才会在第一次帧(update)更新之前调用 Start。
FixedUpdate:固定时间间隔执行
Unity3d中的碰撞器和触发器的区别?
碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性,碰撞器根据物理引擎引发碰撞,产生碰撞的效果
触发器是碰撞器被物理引擎所忽略,没有碰撞效果,如果既要检测到物体的接触又不想让碰撞检测影响物体移动,或要检测一个物件是否经过空间中的某个区域这时就可以用到触发器
物体发生碰撞的必要条件?
预制体(Prefab)的作用?
销毁一个游戏对象的方法
(a)
Unity中获取组件的方法
(a)
GameObject.Find() 和 transform.Find() 区别
GameObject.FInd是全局查找,无法查找隐藏的游戏对象
transform.Find是查找子对象,可以找到隐藏的游戏对象
UGUI 中的 Canvas 有哪几种渲染模式?
Screen Space-Overlay
Screen Space-Camera
World Space
单例模式的特点
保证一个类仅有一个实例
提供一个全局访问点,在任何地方都可以获取
MVC
Model:模型,存储数据,以及对数据的处理,或与服务器交互
View:视图,页面上的视图显示
Controller:控制器 ,控制页面的业务逻辑,作为桥梁连接Model和View
静态类和非静态类区别
静态变量
