Typically i dont want to know the specifics of the cons of OOPs, but it felt kind of weird when I had an argument at an interview I attended recently. The question that was posted to me was to tell me one disadvantage of OOP (Object Oriented Programming). At that time, I felt OOP to be the most matured level of programming after the procedural/functional models. So I replied to him that I dont see any negatives at all.
But the interviewer said there are few and I asked him to list one if he does not mind. He gave an example that I cant digest well, he said that OOP pattern does not strictly implement inheritance rules and cited the satellite/rocket example where the body parts will disintegrate periodically to remove weight during rocket launch and said that inheritance does not support this.
His example kind of felt very weird to me the reason being the application of inheritance to this example.
I understand that the example he gave hardly had any sense at all, but I had this doubt -
Can we unplug class hierarchies dynamically (I am kind of confident in Java its not possible) in an ideal Object Oriented Design?