您现在的位置是:主页 > news > 网站公安备案查询系统/淘宝seo对什么内容优化

网站公安备案查询系统/淘宝seo对什么内容优化

admin2025/5/6 8:12:16news

简介网站公安备案查询系统,淘宝seo对什么内容优化,app开发培训课程,什么是wordpress响应式主题显然设计模式往往追求开闭原则,所以往往是面向接口编程,那么万事万物就是先写接口,把需求弄出来,这里以一辆车子在陆地上跑为基础,对它进行装饰,使它可以具备更多的"功能",达到装饰的效果.这里由于代码相对简单,直接写在一个类里面了 package com.demo.decorator;/*…

网站公安备案查询系统,淘宝seo对什么内容优化,app开发培训课程,什么是wordpress响应式主题显然设计模式往往追求开闭原则,所以往往是面向接口编程,那么万事万物就是先写接口,把需求弄出来,这里以一辆车子在陆地上跑为基础,对它进行装饰,使它可以具备更多的"功能",达到装饰的效果.这里由于代码相对简单,直接写在一个类里面了 package com.demo.decorator;/*…

显然设计模式往往追求开闭原则,所以往往是面向接口编程,那么万事万物就是先写接口,把需求弄出来,这里以一辆车子在陆地上跑为基础,对它进行装饰,使它可以具备更多的"功能",达到装饰的效果.这里由于代码相对简单,直接写在一个类里面了

package com.demo.decorator;/*** ICar:抽象构建,面向接口编程,不管三七二十一,来个接口明确要干什么哈* 就是实现一个毫无装饰的移动的功能** @author zhangxiaoxiang* @date 2019/8/9*/
public interface ICar {/*** 毫无装饰的陆地上跑的功能*/void move();
}/*** 具体构件角色(真实对象),接口迟早要用于实现的,那这里车就来实现车子移动的接口*/
class Car implements ICar {@Overridepublic void move() {System.out.println("陆地上跑!");}
}/*** Decorator装饰角色*/
class SuperCar implements ICar {/*** 子类需要使用,所以使用protected* 又是一个典型的接口做属性,典型的开闭原则*/protected ICar car;public SuperCar(ICar car) {this.car = car;}/*** 原功能两保留*/@Overridepublic void move() {car.move();}
}/*** ConcreteDecorator具体装饰角色*/
class FlyCar extends SuperCar {public FlyCar(ICar car) {super(car);}/*** 这里进行装饰功能*/public void fly() {System.out.println("天上飞!");}@Overridepublic void move() {super.move();//拓展功能,装饰fly();}}/*** ConcreteDecorator具体装饰角色*/
class WaterCar extends SuperCar {public WaterCar(ICar car) {super(car);}/*** 这里进行装饰功能*/public void swim() {System.out.println("水上游!");}@Overridepublic void move() {super.move();//拓展功能,装饰swim();}}/*** ConcreteDecorator具体装饰角色*/
class AICar extends SuperCar {public AICar(ICar car) {super(car);}/*** 这里进行装饰功能*/public void autoMove() {System.out.println("自动跑!");}@Overridepublic void move() {super.move();//拓展功能,装饰autoMove();}}

再测试一下

package com.demo.decorator;/*** Client:装饰器测试** @author zhangxiaoxiang* @date 2019/8/9*/
public class Client {public static void main(String[] args) {System.out.println("------------------来一个常规无装饰的操作------------------------");Car car = new Car();car.move();System.out.println("------------------增加新的功能,飞行---------------------------");FlyCar flycar = new FlyCar(car);flycar.move();System.out.println("------------------增加新的功能,水里游--------------------------");WaterCar waterCar = new WaterCar(car);waterCar.move();System.out.println("------------------增加两个新的功能,飞行,水里游-----------------");//这里也可以叫包装2下WaterCar waterCar2 = new WaterCar(new FlyCar(car));waterCar2.move();//		JDK使用装饰器,下面的写法是不是很熟悉
//		Reader r = new BufferedReader(new InputStreamReader(new FileInputStream(new File("d:/a.txt"))));}
}

测试结果