Object Oriented Programming Properties Explained in C#