Contratos abstractos en Solidity
Dejan un hueco que el hijo debe llenar.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
// An abstract contract leaves a hole a child must fill.
abstract contract Stand {
uint256 public sold;
function price() public pure virtual returns (uint256);
function sell(uint256 n) external {
sold += n * price();
}
}
contract AppleStand is Stand {
function price() public pure override returns (uint256) {
return 3;
}
}
Cómo funciona
abstract contract Standno puede desplegarse solo.price()se declaravirtualsin cuerpo.AppleStandlo sobreescribe y se vuelve desplegable.
Palabras clave y builtins usados aquí
contractexternalfunctionispublicreturnreturnsuint256
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 384
- Tokens
- 67
- Ritmo de tres estrellas
- 60 tpm
Al ritmo de tres estrellas de 60 tokens por minuto, este intento toma unos 67 segundos.
Paso 3 de 4 en Composición; paso 19 de 28 en Fundamentos del lenguaje.