使用这些标准编程语言

时间:2011-09-17 12:11:48

标签: dynamic programming-languages properties components

我需要一种编程语言(最好是可编写脚本的,并且JIT是一个加号,但这两个不是必需的),这将允许这样的事情(例子):

object
{
     id;
     new();
     destroy();
}

info
{
     descr;
}

event inherit object, info
{
     trigger; //has id, descr, trigger
}

anon_event inherit event
{
     - decr; //removes descr property, therefore anon_event has id, trigger, but NO descr  
}

特别好,它还可以:

  • 在创建时自动生成id(new()),
  • 允许指定哪些属性(成员)被读取为public,private,const
  • 自动生成公共属性的getter / setter(const的getters),
  • 拥有getter / setter的日志/回调功能,
  • 允许选择属性(selectallprop(descr)将选择具有descr属性的所有实例)并且类型selectalltype(event)将选择所有事件和anon_events,即使成员不相同,
  • 允许运行时继承,添加/删除属性;

我认为这足以让我们大致了解我所寻求的语言类型。基本上,它是一个组件(作为组件成员的属性列表)基于或从另一个角度看,没有共同祖先的多重继承。

感谢您的提示

1 个答案:

答案 0 :(得分:1)

你要求的是(1)违反Liskov替换原则,这是面向对象编程的一个重要原则,(2)几乎不可能在实践中使用,因为从类中删除任意成员将非常通常导致非编译或非功能代码,因为同一类中的其他成员在很大程度上依赖于那些被删除的成员。

所以我所说的是:整件事情都是坏主意。