每一个类都应该有自己的职责,职责应该是单一类型的,就是我只做这一类的事情,其它的事件不需要我来管,而”这一类事情“有紧密的相关性,也就是高内聚。
类中每个方法都应该功能单一、代码简洁,如果有多个地方使用的相同的代码块,应该将该代码块抽成独立的private的方法。
封状的意义在于降底耦合度,只对外提供能够完成职责的方法,而封闭内部实现细节和数据等。
类中除了职责方法外,一般还包含:
1.属性 对外应该是private ,如果外部确实需要访问,可以提供get/set方法
2.某些方法,是为了支撑职责的实现而存在,如果这些方法对外部没有意义,应该设为private,
3.模版方法,某个方法是为了支撑职责的实现而存在,而这个方法可能会有多种实现方式,当前只给出一个默认的,将这个方法设为protected的,允许子类覆盖,以另一种方式实现。 如果当前没有一种适合的实现,那么这个方法就是abstract 的,这个类也就是abstract的。
如java中的类加载器:ClassLoader的loadClass方法,该方法首先从父类加载器加载类,如果没有,就从启动加载器中加载,这个方法是protected的,那么就可以由子类覆盖这个方法:对于某此特定的类,可以从网络、指定文件目录或数据库中加载,其它类则调用父类的 loadClass默认加载。
4.扩展性方法:这些方法一般为空方法,声明为protected,在职责的实现过程中被调用过。这是一种扩展的方式,允许子类覆盖,以达到自动被调用的目的。
如java 中的线程池ThreadPoolExecutor 就提供了三个可扩展方法,在任务运行前,任务异常时,线程池结束是可以被调用的目的。
5.包内可见的方法:如果包内的类都是为了完成相关职责而存在的,有些时候需要提供一些包内可见的方法以方便调用,就像走后门一样,绕过一些东东。
总而言之,类应该是高内聚的,尽量不提供不必要的方法和属性的访问权限。
相关推荐
参考资料-投标文件打印、盖章签字、密封包装等要求.zip
电信设备-信封装件机.zip
行业分类-外包设计-复合包装材料、片材组和密封包装的说明分析.rar
单层热封包装材料对包装机的适性 用于食品自动包装的单层热封包装材料,主要有热封BOPP薄膜(单,双面),如烟包装,饼干包装;pe共挤膜,如牛奶袋,牛奶在高速机上的包装人们一般称为灌装。
行业分类-外包设计-具有用于密封包装的密封装置的包装机的介绍分析.rar
行业分类-外包设计-复合包装材料以及由其制造的密封包装的说明分析.rar
行业分类-外包设计-用于借助超声波热封包装材料的热封钳口的介绍分析.rar
行业分类-外包设计-在热封包装材料片中包装产品的方法和机器的说明分析.rar
行业分类-外包设计-复合包装材料、片材组和密封包装[1]的说明分析.rar
投标文件打印、盖章签字、密封包装等要求.docx
行业分类-外包设计-具有改进的再密封的用于可再密封包装的多层膜的介绍分析.rar
行业分类-外包设计-利用片状包装材料管生产连续的密封包装的成型爪的说明分析.rar
行业分类-外包设计-塑封包装装置的说明分析.rar
行业文档-设计装置-水彩笔备用笔芯密封包装结构
行业分类-外包设计-热封包装装置的介绍分析.rar
行业资料-交通装置-TFT-LCD玻璃基板密封包装运输箱.zip
行业分类-外包设计-可再封包装滑块拉链袋的介绍分析.rar
行业分类-设备装置-一种酱制品的软罐头防伪密封包装.zip
行业分类-外包设计-真空密封包装机动自出膏体瓶的介绍分析.rar
行业分类-外包设计-果蔬清洗无菌操作密封包装保鲜工艺流程的说明分析.rar