> Take the example above. We have a CameraProduct class that inherits the Product class.<p>> Then, we have a CameraProductService class that inherits the ProductService class. Inside the ProductService class, we have an abstract method of GetProduct, that returns an instance of Product.<p>Almost reads like a parody (It's ok, I'm mostly a C# dev, I'm allowed to make fun :\)