参考
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装原则:将不需要对外提供的内容都隐藏起来、把属性都隐藏,提供公共方法对其访问。
那么,在工厂方法的产品接口中,其抽象方法是对外提供公共访问的方法,其具体实现类中,对应实现方法是被隐藏的实现细节。那么,其是否可作为一个封装的典型案例。
假如,工厂方法的产品接口中,若其无实现类,其接口方法A有方法体(java1.8之后有),那对外来说,其A的方法体内容是否对外暴露了,接口方法A是否有被封装起来?
参考
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装原则:将不需要对外提供的内容都隐藏起来、把属性都隐藏,提供公共方法对其访问。
那么,在工厂方法的产品接口中,其抽象方法是对外提供公共访问的方法,其具体实现类中,对应实现方法是被隐藏的实现细节。那么,其是否可作为一个封装的典型案例。
假如,工厂方法的产品接口中,若其无实现类,其接口方法A有方法体(java1.8之后有),那对外来说,其A的方法体内容是否对外暴露了,接口方法A是否有被封装起来?
只要对外直接提供的方法或者属性就是暴露的。
封装可以理解为,属性私有化,对外提供公有的方法来间接访问属性。