Object oriented programming is a way of programming where you create chunks of code that match up with real world objects.
Classes in C# define what an entire "class" of objects can do (what all "players" can do, or what any "car" can do)—what kind of data it stores, and what kinds of things can be done to it, as well as what it can do.
You can create a new object with something like the following: Random random = new Random(); This creates a new Random object, which is used to generate random numbers.
There's generally no need for destructors in C#, because all objects that are no longer used are garbage collected, like in Java.