Проблема кола-еліпса в розробці програмного забезпечення (іноді відома як проблема прямокутника прямокутника ) ілюструє ряд підводних каменів, які можуть виникнути при використанні підтипу поліморфізму при моделюванні об'єктів. Проблеми найчастіше виникають при використанні об'єктно-орієнтованого програмування.
Це L у абревіатурі SOLID, який відомий як принцип заміни Ліскова . Ця проблема виникає як порушення цього принципу.
Проблема стосується того, які підтипові чи спадкові відносини повинні існувати між класами, які представляють кола та еліпси (або, аналогічно, квадрати та прямокутники). Загалом, проблема ілюструє труднощі, які можуть виникнути, коли базовий клас містить методи, які мутують об'єкт таким чином, що може визнати недійсним (сильніший) інваріант, знайдений у похідному класі, внаслідок чого порушується принцип заміни Ліскова ...