oop - 带有保险杠贴纸的汽车是汽车的子类吗?

标签 oop design-patterns decorator

我不是 OOPS 和/或设计模式方面的专家。

我遇到过这种情况:带有保险杠贴纸的汽车是汽车的子类吗?

如果不是,那么如何将动态属性添加到对象的实例?例如一辆汽车、一辆带有保险杠贴纸的汽车等。

并非所有汽车都配有保险杠贴纸。人们可以添加一张保险杠贴纸,甚至可以添加多个保险杠贴纸。我无法在汽车上实现贴纸,据我所知,实现我将迫使我添加贴纸。汽车保险杠贴纸是汽车(物体?)创建后出现的一种新属性。

最佳答案

您可以使用Decorator Design Pattern对于这样的情况。它将允许您“向对象的实例添加动态属性”,这就是您提到的,您可以通过“装饰”您的汽车来添加任意数量的贴纸或任何其他属性,以所有可能的组合类。

关于oop - 带有保险杠贴纸的汽车是汽车的子类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5191301/

相关文章:

Java泛型函数调用

javascript - 修饰 CoffeeScript 类中的函数

language-agnostic - 这个图案有名字吗?

javascript - 在对象类声明中设置 javascript 原型(prototype)函数

design-patterns - 具有作业亲和性的作业队列

java - 什么时候使用抽象工厂模式?

python - 在生成斐波那契数列时使用装饰器应用内存

java - 使用继承与接口(interface)的装饰器设计模式

java - 策略模式和带有接口(interface)的变量

java - java中InetAddress类的静态方法getByname是工厂方法模式的一个例子吗?