Structuring our data with classes
Let's define a simple class to represent a person. Right now we only have one person represented in the project—the owner—but in the future we may have more people, such as employees. It will be helpful to have a class that encapsulates all the shared logic for dealing with people. We'll start out with a simple class:
class window.Person constructor: (@name) ->
Right now our class contains only a constructor. We learned in the previous chapter that putting @name
in the constructor arguments automatically assigns it as a property of the new object.
We'll put this class in a new file, named person.coffee
. Having each class in a separate file is a good convention to follow. Since classes naturally encapsulate shared pieces of logic, it's a good way to split things up; it keeps our code manageable while still making everything easy to find. Our setup.coffee
was already getting a bit long, so moving some of the logic into classes will help shrink that file...