Unity系统班之第十课

2021-04-07 20:34发布

一、接口

接口定义了所有类继承接口时应遵循的语法合同.接口定义了语法合同"是什么"部分,派生类定义了语法合同"怎么做部分"
接口定义了属性,方法和事件,这些都是接口的成员.接口只包含成员的声明,成员的定义是派生类的责任.接口提供了派生类应遵循的标准结构.
抽象类在某种程度上与接口类似,但是,它们大多只是用在当只有少数方法由基类声明派生类实现时

接口:接口主要是定义派生类的规范,可以包含属性和方法,但是方法只能声明不能有方法体
注意事项:
1.接口关键字为interface ,后面是接口名称,接口名称使用I开头
2.接口中的成员默认都是public,所以不能访问修饰
3.接口里面的成员不能有字段和构造方法
4.接口中的成员在派生类中必须全部实现
5.接口不能实例化,可以经过里氏转换将子类对象赋值给一个接口对象
6.接口可以多继承

继承过程中的注意事项
1.一个类同时继承类和接口,类需要放在所有接口的最前面
2.多个接口用逗号分隔

接口和抽象类的异同
1.共同点
1)两者都包含抽象类的成员,可以由子类继承
2)两者都不能被实例化
2.不同点
1)接口用于规范,抽象类用于共性
2)接口中所有成员都是抽象的,但是抽象类中可以有非抽象的成员
3)抽象类本质还是一个类,只能单继承,但是接口可以多继承
4)接口只能用来声明属性,方法,事件,但是抽象类没有限制
5)抽象类中加入一个方法,那么自己就可以继承该方法,但是如果是接口的话,那么需要重新实现

二、泛型

泛型(Generic) 允许你延迟编写类或方法中的编程元素的数据类型,直到实际在程序中使用它的时候.换言之,泛型允许你编写一个与任何数据类型一起工作的类或方法

装箱和拆箱
1.装箱:将一个值类型转换为一个引用类型
2.拆箱:将一个引用类型转换为值类型
缺点:频繁地装箱拆箱会在内存分配大量的空间,数据量比较大,性能消耗严重

泛型的优点:
1.泛型可以最大限度地重用代码,以及提高性能
2.降低装箱和拆箱的风险及成本
3.可以对泛型类进行约束以访问特定的数据类型

注意:不能对泛型变量进行算数运算,因为只有调用的时候才能确定T的具体类型

泛型方法的定义:
1.在方法名字后面加<T>,T只起到占位符的作用
2.调用泛型方法时把具体的类型传到对应的占位符上.
3.当调用方法时,如果系统可以根据实参进行类型识别,调用的方法名后可以不加<具体类型>,系统不能识别时必须添加指定的<具体类型>

泛型的使用:
1.当调用方法时参数类型不确定时.
2.当不确定返回值类型时使用.
3.当1和2都不确定时使用

default:当调用时指定T,预知默认情况,将默认值分配给参数化类型T

心得体会:

   暂无!!!