Classes, inheritance and encapsulation in php

meterboard2

I have been, and probably remain somewhat of a cottage programmer.  Completely self taught.  I have heard the terms “Classes, inheritance and encapsulation” for years and not really understood them.

I have spent a lot of time over the last week or so working on a row tracker for my virtual rowing team.  I wrote it without using a single class.  I then (for reasons I don’t remember) decided it was about time I got to grips with them.  Suddenly, and I am not sure how, I understand them and how to use them.  Oh, the power!

I appears from this useful (but soporifically voiced) youtube video that I have been doing procedural programming all these years.  Object oriented programming is a very different way of looking at it.  But inheritance makes a lot of sense.  Now.  I am still trying to wrap my head around why encapsulation is ‘better’ but I understand what it is and how to do it.