使用OOP进行条件执行

时间:2014-07-06 08:49:41

标签: oop pascal

所以,我正在寻找实施下一件事的正确方法。 举个例子,我有任何父类。我正在存储作为该父类对象的变量。

我想有条件地创建这个子类的变量对象。

我知道如何用其他方式实现以下内容(仅因为这里有很多方法),但我想要好方法,所以我的代码看起来像那样

TObject obj;
if something = 1 then 
   obj := Child1;
else if something = 2 then 
   obj := Child2;

最后,在我的任务中,我想调用一些属于父类的函数,并且可以(或不)在子类中实现。

UPD:

我自己找到最好的解决方案(据我所知)看起来像:

var obj : TParent;
  case something of
    1: obj := TChild1.Create;
    2: obj := TChild2.Create;

2 个答案:

答案 0 :(得分:1)

使用返回正确子项的方法创建对象。

答案 1 :(得分:1)

使用面向对象的原则。您将拥有一个父类,以及一些继承自父级的子类。使用覆盖子特定变量和功能。如果存在适用于所有子类或父类的功能,则在父级中实现此功能。