WEll, a person has a Name right? So would an employee... but you don't re-implement the name property do you? No, you implement it ONCE in the Person class... since an Employee inherits form Person, that includes all functionality that the PErson class has, including the name property as well.


Sooo....
Code:
Dim customer as New Person
Dim barista as New Employee 

customer.FirstName = "TechGnome" ' this works because .FirstNAme is a property of Person
bnarista.FirstName = "John" 'This also works because it's a property of Person, which the Employee class inherited.

Dim storeOccupants as New List(Of Person)

storeOccupants.Add(customer)
storeOccupants.Add(barista) ' Again, since Employee inherits from person, we can do this....

Dim storeEmployees as New List(Of Employee)

storeEmployee.Add(barista) ' barista is an employee...
storeEmployee.Add(customer) ' Will result in an error because while employee is a person, a person is not an employee...
-tg