mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
18 lines
889 B
ReStructuredText
18 lines
889 B
ReStructuredText
|
.. index:: contract, state variable, function, event, struct, enum, function;modifier
|
||
|
|
||
|
***********************
|
||
|
Structure of a Contract
|
||
|
***********************
|
||
|
|
||
|
Contracts in Solidity are similar to classes in object-oriented languages.
|
||
|
Each contract can contain declarations of **state variables**, **functions**,
|
||
|
**function modifiers**, **events**, **structs types** and **enum types**.
|
||
|
Furthermore, contracts can inherit from other contracts.
|
||
|
|
||
|
* State variables are values which are permanently stored in contract storage.
|
||
|
* Functions are the executable units of code within a contract.
|
||
|
* Function modifiers can be used to amend the semantics of functions in a declarative way.
|
||
|
* Events are convenience interfaces with the EVM logging facilities.
|
||
|
* Structs are custom defined types that can group several variables.
|
||
|
* Enums can be used to create custom types with a finite set of values.
|