每个子类的构造函数的第一句话,都默认调用父类的无参数构造函数super(),除非子类的构造函数第1句话是super,而且super语句必须放在第一条,不能出现连续两条super语句。如果构造函数的第1句话不是super,编译器会自动增加一句super () ;如果构造函数第1句是程序员自己写的super语句,编译器就不会自动增加了
2022-08-10
在适配器模式中,我们通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。
根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系。
装饰器模式主要包含以下角色:
1.抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。
2.具体构件(ConcreteComponent)角色:实现抽象构件,通过装饰角色为其添加一些职责。
3.抽象装饰(Decorator)角色:继承抽象构件,并包含具体构件的实例,可以通过其子类扩展具体构件的功能。
4.具体装饰(ConcreteDecorator)角色:实现抽象装饰的相关方法,并给具体构件对象添加附加的责任。