如何避免无限循环,当我定义我的超类?

1视图(30天)
我写了一个超类,定义了一个对象填充一些属性与用户给定的输入。其他属性的值应该是依赖于一个给定的输入。更具体:
超类应该有三个属性:数据集方法参数类型
构造函数应该接受3输入,其中之一将被用作数据集(双打的向量),另一个是单个字符,eithe a或B,定义数据集的类型,和EstimationMethod可以“X”或“Y”,它指定一个方法如何我想计算一个数据集的参数。
重要的是要注意的是,两种评估方法应该为A和B类型化数据集是不同的。我的想法是定义两个子类,一个用于类型= = B,另一个用于类型。子类可以继承父类的数据集以及EstimationMethod。在这些子类我想实现X和Y EstimationMethods对应于A型和B型。
我希望看到的:在我的剧本,我定义一个onject,比方说,超类中的Object1 = (DataSet1’‘,‘Y’),构造函数应该叫一个子类类型,使用Y方法,子类中实现计算参数值,并把它添加为一个超类对象的值。
在我的剧本,我不想直接调用sublasses,但我希望他们被称为超类。我不确定这个概念是一个工作,因为当我实现它,它导致无限循环。超类构造函数称为试图从超类继承属性的子类,whi又称为子类等。
你能请让我知道如果我想做的是概念上的好,如果是的,帮我的草图实现吗?
提前谢谢你

接受的答案

史蒂文的主
史蒂文的主 2017年6月12日
使用 工厂模式 。创建一个单独的 函数 (不要试图重用任何子类的构造函数),接受子类的名称来创建或一个函数处理构造函数和函数调用相应的构造函数。
2的评论
JeromeM
JeromeM 2017年6月14日
我可能会懂的。所以你建议如下:
  1. 写一个超类构造对象。
  2. 编写一个函数,它…
  • 接受的输入所需的超类构造函数
  • 构造函数调用supercalls并生成初始对象
  • 基于一个开关或如果函数依赖于类型的财产,它调用子类,他们可以把参数属性
函数应该给完全成形的对象。
这是你的意思还是我误解你?

登录置评。

更多的答案(0)

类别

找到更多的在子类定义帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!