Solidity — ромбовидное наследование

Все хотели узнать но боялись спросить…

Язык Solidity поддерживает множественное наследование. А значит присутствует проблема ромбовидного наследования.

А значит ее как-то решали в Solidity.

Суть такая — приоритет у тех контрактов, которые справа.

Проще на практике:

Если выполнить giveMeEat из контракта D, то он вернет «eggs».

А теперь поменяем местами C и B в наследовании D

Если выполнить giveMeEat, то  теперь он вернет «cake».

По конструкторам и деструкторам сложнее, добавлю позже. Принцип тот же но есть тонкие  моменты.

Добавить комментарий