<p>Am 05.08.2015 05:47 schrieb "Чернов Дмитрий" <<a href="mailto:blackdoomer@yandex.ru">blackdoomer@yandex.ru</a>>:<br>
> So, there's examples of addressing some fields with and without this feature:<br>
> Friend.BaseUser.FirstName  >> Friend.FirstName<br>
> <a href="http://Friend.UserInfo.Country.ID">Friend.UserInfo.Country.ID</a> >> <a href="http://Friend.Country.ID">Friend.Country.ID</a><br>
>  <br>
> And let me clarify some details:<br>
>  - fields can not be overridden;<br>
>  - record can nest several records.<br>
>  <br>
> Of course, somebody will try to advise me to use objects. :)</p>
<p>Of course, but probably not the objects you think about ("class"), but their older cousins ("object"). ;)</p>
<p>> But never mind that<br>
> a) in procedural programming we don't use objects,</p>
<p>"object" types behave like records with inheritance if they don't have methods.</p>
<p>> b) objects are more complex that needed</p>
<p>Not true for "object" types.</p>
<p>> c) objects require additional routines for creating and destroying of them.</p>
<p>Like records "object" types can be allocated on the stack.</p>
<p>So there is no need to burden "record" with another feature that's already supported by "object".</p>
<p>Note: Multiple inheritance is however supported by none of the three structured types ("record", "object", "class") and it wouldn't be added anyway, so there you need to find a solution with normal inheritance.</p>
<p>Regards,<br>
Sven</p>