EAL (Extended Action Language) is fantastic as it allows you to create a complete system without bringing out Visual Studio or C# at all (nothing is wrong with C# – but it is amazing to be able to execute the model alone). It had a limitation: when overriding methods, there was no way to call the base class implementation of the method.
Now that is fixed by introducing the EAL operation “base” – it works just as in C#:
<a href="/File:Base_class_-_1.png" class="image" data-bs-title="File:Base_class_-_1.png" data-bs-filetimestamp="20181021160246"><img alt="Base class - 1.png" src="/images/d/df/Base_class_-_1.png" decoding="async" width="145" height="223" /></a>
Given the OnCreate method (that is called when an object is created).
The RootClass.OnCreate
<a href="/File:Base_class_-_2.png" class="image" data-bs-title="File:Base_class_-_2.png" data-bs-filetimestamp="20181021160339"><img alt="Base class - 2.png" src="/images/thumb/8/8d/Base_class_-_2.png/463px-Base_class_-_2.png" decoding="async" width="463" height="282" srcset="/images/8/8d/Base_class_-_2.png 1.5x" /></a>
And the Person.OnCreate
<a href="/File:Base_class_-_3.png" class="image" data-bs-title="File:Base_class_-_3.png" data-bs-filetimestamp="20181021160509"><img alt="Base class - 3.png" src="/images/thumb/0/02/Base_class_-_3.png/467px-Base_class_-_3.png" decoding="async" width="467" height="284" srcset="/images/0/02/Base_class_-_3.png 1.5x" /></a>
Note the self.base.OnCreate
call that calls the superclass implementation of OnCreate (just as in C#)
And when creating a new Person, I got this output:
<a href="/File:Base_class_-_4.png" class="image" data-bs-title="File:Base_class_-_4.png" data-bs-filetimestamp="20181021160631"><img alt="Base class - 4.png" src="/images/a/a8/Base_class_-_4.png" decoding="async" width="173" height="141" /></a>
…as in the RootClass added “RA” and the Person added “PA.”