The structure of a smart contract
A contract is like a class. A contract contains state variables, functions, function modifiers, events, structures, and enums. Contracts also support inheritance. Inheritance is implemented by copying code at the time of compiling. Smart contracts also support polymorphism.
Let's look at an example of a smart contract to get an idea about what it looks like:
contract Sample { //state variables uint256 data; address owner; //event definition event logData(uint256 dataToLog); //function modifier modifier onlyOwner() { if (msg.sender != owner) throw; _; } //constructor function Sample(uint256 initData, address initOwner){ data = initData; owner = initOwner; } //functions function getData() returns (uint256 returnedData){ return data; } function setData(uint256 newData) onlyOwner{ logData(newData); data = newData; ...