Intersystems cache 对象脚本支持多重继承吗?

Intersystems cache 对象脚本支持多重继承吗?,intersystems-cache,intersystems,objectscript,Intersystems Cache,Intersystems,Objectscript,我是缓存新手,发现了一些与普通oop概念不同的东西。在对象脚本中,基类可以从多个子类继承继承继承顺序可以是左/右。如果objectscript是oop,我不知道缓存如何支持这一点,而不是其他编程语言 基类 一级儿童 二级儿童 输出 我是继承人。儿童班 我是继承人 文件清楚地解释了这一点: 例如,如果类X继承自类A、B和C,则其定义包括: Class X Extends (A, B, C) { } 类编译器的默认继承顺序是从左到右,这意味着解决了超类之间成员定义的差异,有利于最左边的超类,

我是缓存新手,发现了一些与普通oop概念不同的东西。在对象脚本中,基类可以从多个子类继承继承继承顺序可以是左/右。如果objectscript是oop,我不知道缓存如何支持这一点,而不是其他编程语言

基类

一级儿童

二级儿童

输出

我是继承人。儿童班

我是继承人


文件清楚地解释了这一点:

例如,如果类X继承自类A、B和C,则其定义包括:

Class X Extends (A, B, C) 
{
}
类编译器的默认继承顺序是从左到右,这意味着解决了超类之间成员定义的差异,有利于最左边的超类,在本例中,A取代B和C,B取代C


具体地说,对于类X,类参数值、属性和方法的值从类A继承—列出的第一个超类,然后从类B继承,最后从类C继承。X还从B继承任何未定义的类成员,以及从C继承任何未定义的类成员。如果类B具有与已从a继承的成员同名的类成员,则X使用来自a的值;类似地,如果C中有一个成员的名称与从a或B继承的成员的名称相同,则优先顺序为a、B、C。

文档清楚地解释了这一点:

例如,如果类X继承自类A、B和C,则其定义包括:

Class X Extends (A, B, C) 
{
}
类编译器的默认继承顺序是从左到右,这意味着解决了超类之间成员定义的差异,有利于最左边的超类,在本例中,A取代B和C,B取代C


具体地说,对于类X,类参数值、属性和方法的值从类A继承—列出的第一个超类,然后从类B继承,最后从类C继承。X还从B继承任何未定义的类成员,以及从C继承任何未定义的类成员。如果类B具有与已从a继承的成员同名的类成员,则X使用来自a的值;类似地,如果C有一个与从a或B继承的成员同名的成员,优先顺序是a,然后是B,然后是C。

那么,问题是什么?至于我,你已经回答了你的问题,你还需要什么。唯一奇怪的是,你如何命名你的类。您必须有两个类,一个名为ChildClass,另一个名为BaseClass的继承类。@DAiMor我的问题是最后一句话,我不知道cache是如何支持这一点的,它不太可能支持其他编程语言。您的意思是什么?cache是如何支持这一点的?下面是文档中的详细解释。除此之外,您还有其他问题吗?那么,问题是什么?至于我,你已经回答了你的问题,你还需要什么。唯一奇怪的是,你如何命名你的类。您必须有两个类,一个名为ChildClass,另一个名为BaseClass的继承类。@DAiMor我的问题是最后一句话,我不知道cache是如何支持这一点的,它不太可能支持其他编程语言。您的意思是什么?cache是如何支持这一点的?下面是文档中的详细解释,除此之外,您还有其他问题吗?
Class Inheritance.TheChildClass1 Extends %RegisteredObject
{

  ClassMethod Ping()
  {
    Write "I am in Inheritance.TheChildClass1",!
  }

  ClassMethod Pingggg()
  {
    Write "I am in Inheritance.TheChildClass1111111111",!
   }

  }
Class X Extends (A, B, C) 
{
}