The first two methods are quite self explanatory. Our constructor sets the owner and then issues the initial totalSupply of Barry, to the creator.
The reason for doing this is that you may need some reserved, or for use in whatever you plan to do with the token.

This is our fallback function (as you can see it has no name), this will be called whenever someone sends Ethereum to the contract (with no other data).

This is where we will do our BARRY distribution. First our method checks to see if the value sent is greater than 0 and also whether the current circulation is still less than the max supply.
(Yes, this means it is possible for the totalSupply to exceed the maxSupply, depending on how much the last person to send Ethereum sends on the transaction that makes it cross the line ).

If these criteria are met, we multiply the value by the tokensPerEther. We then add this amount of BARRY balance to the balance of the sender, and transfer the sent ETH , to the owner of the contract.