Solidity
January 31, 2023

Solidity | Переопределение функций

Всем привет сегодня пойдет разговор про маленькое дополнение к теме наследования. Расскажу про то как мы можем переопределить функцию в накладываемом смарт-контракте.

Начну с того, что все функции, которые мы хотим переопределить в бедующем должны быть обозначены как virtual, а те которые уже переопределили помечены как override.

Рассмотрим пример.

У нас есть функция foo, которую я пишу в обоих контрактах, но remix ругается, потому что у наследываемого смарт контракта не может быть такое же название функции как и у дочернего.

Вот я добавил синтаксис переопределенных функций и ошибка пропала. Теперь мы видим, что одна и та же функция содержит разный контент.

На самом деле пример в шутку привел, но он показывает смысл и логику переопределения функций.

То есть, если нам нужно изменить логику функции в наследываемом контракте или мы не знаем как она должна себя вести. То на помощь приходит эта концепция.

В целом это все что хотел рассказать. Тут много не покажешь. Надеюсь вам пригодиться это маленькое но удобное решение в solidity. Дальше больше.

tg: мой телеграмчик)