您的位置:首页 > 房产 > 家装 > 电子商务和网络营销的区别_黄冈网站建设有哪些_seo网站自动推广_搜索引擎关键词怎么选

电子商务和网络营销的区别_黄冈网站建设有哪些_seo网站自动推广_搜索引擎关键词怎么选

2024/10/6 8:34:52 来源:https://blog.csdn.net/uesowys/article/details/142369167  浏览:    关键词:电子商务和网络营销的区别_黄冈网站建设有哪些_seo网站自动推广_搜索引擎关键词怎么选
电子商务和网络营销的区别_黄冈网站建设有哪些_seo网站自动推广_搜索引擎关键词怎么选

面向对象经典设计原则主要包括单一职责原则、开放封闭原则、里氏替换原则、依赖倒置原则、接口隔离原则,文本主要从JAVA面向对象程序设计语言类的基本特性(封装、继承、多态)、JDK的API设计三个方面描述这些原则的基本原理。

单一职责原则

该原则体现出的类设计思想包括高内聚、低耦合,一般情况下,高内聚与低耦合是同时出现的,一个高内聚的类说明很少依赖或者不依赖其他类、只依赖自身设计的方法实现该类的全部功能,因此,一个高内聚的类很少与其他类发生耦合的关系

图片

如上所示,从功能模块划分的角度看,Java的包定义也具备单一职责的性质,一个Java类包中只包括具备同一类别功能与职责的类,Java类包的命名也体现出现该类的功能与职责,JDK将所有与文件系统的输入输出流的操作相关的类都集中在io的类包中

图片

图片

图片

如上所示,JDK提供的String类是一个专注于字符串处理的类,具备单一职责的性质,该类的写操作只存在于构造函数,不提供其他写方法修改该类的字符串内容,提供大量的读方法处理原始字符串并输出新的字符串内容

开放封闭原则

从软件设计的角度看,每个功能模块都需要支持可扩展性以及可重用性,而一个类具备开放性是指该类支持可扩展性,即一个类可以在不被修改的情况下提供可扩展的能力,一个类具备封闭性是指该类不提供被修改的能力,因为,一个类一旦被修改,则该类失去了可重用性,在面向对象设计与编程思想中,可以使用继承、多态、重写、重载的特性实现类的可扩展性

图片

图片

如上所示,集合类继承了抽象类,实现类的可扩展性,抽象类集成了集合的通用属性与方法,不同集合类可以继承相同的抽象类扩展适合自身的功能特性,因此,抽象类具备封闭性,而不同集合类具备开放性

图片

如上所示,开发者可以使用类继承的扩展特性自定义一个排序的集合类,实现适合自身的集合工具类

图片

图片

图片

如上所示,开发者可以使用接口多态性扩展自定义一个排序接口,实现适合自身的集合排序类

图片

图片

如上所示,开发者可以根据实际的不同业务场景,使用类继承的特性扩展与重载不同的排序方法,而不用修改已有的类,因而,既能保留已有类的可重用性,又能保证新业务场景中的类可扩展性

图片

如上所示,开发者也可以根据实际的不同业务场景,重载已有的函数,修改已有函数的参数类型或者参数个数,从而实现类的可扩展性

里氏替换原则

面向对象编程设计思想中,类的定义与扩展一般符合两个原则,即向上层抽象以及向下层扩展,因此,在不需要类型转换的情况下,下层对象可以合理地替换上层对象,因为下层对象包括了上层对象定义的方法,但是,在需要类型转换的情况下,上层对象替换下层对象则有可能出错,因为上层对象不一定支持下层对象定义的扩展方法

图片

如上所示,定义排序方法的输入参数中,包括上层接口类型、上层抽象类型,在对象调用以及参数传递时,下层对象实例可以替换上层抽象类型,但是,上层对象实例需要向下层转换类型才能替换下层的扩展类型

依赖倒置原则

依赖倒置原则类似于里氏替换原则,即下层扩展类型应依赖上层抽象类型、具体依赖于抽象,从类的继承体系的角度看,由上层抽象类型向下层扩展类型实现扩展,但是,从类的依赖关系的角度看,由下层扩展类型向上层抽象类型实现依赖,扩展与依赖的方向刚好相反,从而形成倒置的关系

图片

图片

图片

如上所示,定义抽象类、定义抽象方法,在同一层的抽象类中具体方法依赖调用抽象方法,该抽象方法由下层的扩展类型具体实现

接口隔离原则

面向对象编程设计思想中,接口用于实现多态性,即一个类可以实现多个不同的接口、一个接口可以由多个不同的类实现

图片

图片

如上所示,抽象排序类实现多个不同的排序接口,每个排序的接口提供不同的方法

图片

如上所示,使用不同的接口实现不同的排序算法功能,在依赖调用时可以实现接口功能隔离的原则

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com