装饰模式
装饰器模式Decorator Pattern允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的 设计模式属于结构型模式,它是作为现有的类的一个包装。 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵 活 主要解决:一般的为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着 扩展功能的增多,子类会很膨胀 优点:装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模 式可以动态扩展一个实现类的功能 缺点:多层装饰比较复杂 使用场景: 1、扩展一个类的功能。 2、动态增加功能,动态撤销。 注意事项:可代替继承。
要求:1、被装饰方(多个)有个抽象角色---接口、抽象类 2、装饰方实现接口(继承抽象类),并将装饰方定义为属性 Decorator模式又名包装器Wrapper,它的主要用途在于给一个对象动态的添加一些额外的职责。与生 成子类相比,它更具有灵活性 装饰器模式中的四种角色:被装饰对象、装饰对象、装饰器Decorator、公共接口或抽象类.
File类
类File提供了一种与机器无关的方式来描述一个文件对象的属性 对于目录,Java把它简单的处理为一种特殊的文件,即文件名的列表 java.io.File用于封装和平台无关的文件夹和文件夹对象,例如获取一个文件的字节数。这个写法是 针对windows平台的,如果使用mac或者linux平台,则需要使用 通过类File中提供的方法,可以得到文件或者目录的描述信息,包括名称、所在路径、可读性等, 还可以生成新的文件、目录、改变文件名、删除文件、列出一个目录中所有的文件或者与某个模式 匹配的文件等
常见的构造方法
File(String pathName)以path为路径创建File对象,如果pathname是相对路劲,则默认的当前路 径在系统属性user.dir中存储 File(String parent,String child) 这里文件对象的路径为相对于parent路径的child路径
静态属性
Separator存储当前系统的路径分隔符 注意: \ 在字符串中为转义字符,如果需要使用 \ 则必须写成 \\ 。一般推荐使用/
访问文件名的方法
getName():String获取文件名称 getPath():String获取路径,如果构建File时使用的是相对路径,则这里返回的就是相对路径;如果 创建时参数为绝对路径,则返回绝对路径 getAbsolutePath():String获取绝对路径 getParent():String获取当前文件对象的上级File对象,如果构建文件对象时使用的是相对路径,则 这里返回为null