The original question is saying that "telephone" is type of iPhone?? Isn't it the other way around?
Why do you need to store the type name? If special phone types are Classes that inherit from base class Phone, then the name of the Class indicates the type?