If you want a good view of abstraction, and other OOP things. Get yourself an unreal or Ut game and look at the Uscript. OOP at its best.