多平台统一管理软件接口,如何实现多平台统一管理软件接口
393
2023-01-10
本文目录一览:
区别如下:
1、使用方面:
类在继承抽象类的时候,非abstract方法和属性都继承,同时abstract方法帮忙实现。
类在使用接口就像是一个模块化的机器,安上个音频接口,内部就得做个功放功能。设计好之后要按什么接口就得有什么功能。
2、结构方面:
抽象类的更像是一种树形结构,一个抽象类的范围就是下面的子类,别的管不着也没必要管。
接口的更像是一种层间结构,上层跟下层的沟通办法就是这个接口,上层想怎么调用就按照接口调用就行。
3、在逻辑方面:
按照逻辑顺序,一般先设计了接口,后写类,又因为类变多了,才抽象出了抽象类方便写更多的类。
接口定义了类的功能,抽象类抽象出了一些类的特征。
4、在代码书写方面:
抽象类提高了类和类的内聚程度,减少了代码量。
接口降低了类和类的耦合度,但是增加了代码量。
参考资料:
百度百科--接口
百度百科--继承
1、抽象类通过abstract 关键字来定义
2、dart中抽象方法不能使用abstrac声明子类继承抽象类实现接口,dart中没有方法体的方法称为抽象方法
3、如果子类继承抽象类须得实现抽象类里面的抽象方法
4、如果抽象类当做接口实现的话必须得实现抽象类里面定义的所有属性和方法
5、抽象类不能被实例化,只有继承子类继承抽象类实现接口他的子类才可以
注:extends 和 implements的区别:
1、如果复用抽象类里面的方法,必须要用抽象方法约束子类的话 就用extend继承抽象类isEmpty
2、如果只是把抽象类当做标准的话,子类继承抽象类实现接口我们就用implements实现抽象类
案例:定义一个Animal 类要求它的子类全部包含eat方法
父类定义一个方法不去实现,让继承他的子类去实现,每个子类有不同的表现
首先dart的接口没有interface关键字定义接口,而是普通类或抽象类都可以作为接口被实现,
同样使用implements关键字进行实现。
如果实现的类是普通类,会将普通类和抽象中的属性和方法全部复写一遍
而因为抽象类可以定义抽象方法,普通类不可以,建议使用抽象类定义接口
案例:定义一个Db库 支持mysql mssql mongodb,mysql mssql mongodb三个类都有同样的方法
补充:一个类实现多个接口的方法
class C implements A,B {} // 一个类实现多个接口,那么就必须这个类实现所有接口的方法与属性
1、可以利用mixins实现多继承的功能
2、使用mixins的条件
3、作为mixins的类只能继承object,不能继承其他类(下面a、b不能继承其他类)
4、作为mixins的类不能有构造函数(下面的a、b里面不能有构造函数)
5、一个类可以mixins多个mixins类
6、mixins绝不是继承,也不是接口,而是一种全新的特性
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~