title: Can I change class types in a setter with an object-oriented language?
body: <p>Here is the problem statement: Calling a setter on the object should result in the object to change to an object of a different class, which language can support this?
  Ex. I have a class called "Man" (Parent Class), and two children namely "Toddler" and "Old Man", they are its children because they override a behaviour in Man called as walk. ( i.e Toddler sometimes walks using both his hands and legs kneeled down and the Old man uses a stick to support himself). </p>
  
  <p>The Man class has a attribute called age, I have a setter on Man, say <code>setAge(int ageValue)</code>. I have 3 objects, 2 toddlers, 1 old-Man. (The system is up and running, I guess when we say objects it is obvious). I will make this call, <code>toddler.setAge(80)</code>, I expect the toddler to change to an object of type Old Man. Is this possible?  Please suggest.</p>
  
  <p>Thanks,</p>