Sdílet prostřednictvím


Vytváření vložených objektů

Při vytváření instance s vloženými objekty proveďte následující úlohy:

  • Vložený objekt musíte deklarovat jako silně typovaný nebo slabě typovaný.

    Objekt silného typu odkazuje na objekt konkrétní třídy a používá název třídy. Slabě zadaný objekt odkazuje na objekt nespecifikované třídy a používá objekt klíčové slovo. Oba objekty se mapují na typ VT_UNKNOWN.

  • Pro výchozí hodnotu vložených objektů a cest v inicializaci a deklarací můžete použít NULL.

  • Při vkládání cesty objektu neumisťujte prázdné znaky mezi prvky vložené cesty. Například cesta k objektu "Class1Index=3;" neobsahuje mezeru mezi názvem vlastnosti Class1index a přiřazenou hodnotou, což je "3".

Následující deklarace třídy ukazuje, jak deklarovat silné typy a slabě typované vložené objekty.

Class MyClass
{
    EmbedClass    Object1;          // Strongly typed
    object        Object2;          // Weakly typed
};

Následující příklady popisují, jak deklarovat vložené objekty v deklaraci třídy.

Class Class1 
{ 
     [key] sint32 Class1Index;
};

Class Class2 
{
    [key] sint32 Class2Index;
    Class1 EmbedObject1 = instance of Class1{Class1Index=3;};
};

Class Class3
{
    [key] sint32 Class3Index;
    Class2 EmbedObject2 = instance of Class2 {Class2Index=4;};
};

Následující příklad popisuje inicializaci jedné vlastnosti, která je objekt silného typu a další vlastnost, která je pole slabě zadaných objektů.

Class EmbedClass1
{
    [key] sint32 intval;
};

Class EmbedClass2
{
    [key] string sval;
};

Class ContainerClass
{
    [key] sint32 intval;
    EmbedClass1 SingleObject;
    Object ArrayObject[];
};

Instance of ContainerClass
{
    intval = 33;
    SingleObject = instance of EmbedClass1 {intval=99;};
    ArrayObject = {instance of EmbedClass2 {sval="something";},
                   instance of EmbedClass1 {intval=100;}};
};