在MATLAB中我有不同的类A
& B
。我想分配A
& B
中属性A
& B
作为属性创建的对象。我的代码看起来像这样包含其他类作为属性的类
classdef A < handle
properties
container
end
methods
function object = A()
end
end
end
这
classdef B < handle
properties
container
end
methods
function object = B()
end
end
end
然后我从分配级两个对象A
& B
从两个班A
& B
的container
- 属性,像
object_from_class_A.container = object_from_class_A
and
object_from_class_A.container = object_from_class_B
这意味着,我使用相同的变量/属性来存储来自不同类的对象。这是一个糟糕的设计选择?我应该如何避免这种情况?我只是试图将对象分配给对方,因为我试图在不同的对象之间建立关系。
P.S.我是OOP的新手。
编辑为更好的解释:
类A
& B
是根本不同的,并且不应被连接/从彼此继承。我有这样的想法:对象city
包含对象street
和对象house
,对象house
连接到对象street
。所以,street
和house
应该继承city
,但是street
和house
应该互相认识。但是,我应该如何认识到所有从city
继承的许多对象(如标志,汽车,人,猫,狗等)之间的关系,但不要在彼此之间共享/继承任何其他东西?
例如,我要建立一个beween的car
的street
对象的连接,所以如果我寻找到一个特定的street
-object,我想向特定对象car1
,car2
,car3
分配给street
对象。
如果您将两个类的对象分配给相同的变量,那么这两个类之间有什么区别?这两个类是超类的关系(或可关联的),还是两个类根本不同,但需要共享信息?按照现状,这不是最好的设计,但我认为我们需要关于这些类的更多信息来帮助他们。 – beaker
A和B类从根本上不同(是的,我应该更具体...)。 – Lemonbonbon
“'street”和'house'应该从'city'继承。我不同意。这三个项目是根本不同的实体,尽管有关。我会说让他们成为他们自己的班级,并且拥有“城市”,或者在OOP术语中“由......组成”,“街道”阵列和“家庭”阵列。 – TroyHaskin