Cocoa Programming for OS X: The Big Nerd Ranch Guide
by Aaron Hillegass, Adam Preble, Nate Chandler
Classes
Now that you have the beginnings of a robust vector type, let’s put it to work. Your 2D physics simulation will consist of two classes: Particle, which represents a single moving object within the simulation, and Simulation, which contains an array of Particle instances.
Classes are very similar to structures. They have a lot of the same features: initializers, properties, computed properties, and methods. They have a significant difference, however, which we will discuss once the simulation is up and running.
Start by defining the Particle class in your playground. The position is not important, as long as it is above or below (but not inside!) the Vector structure. A Particle has three Vector properties: position, velocity ...