Last Updated :2025/12/05

circle-ellipse problem

Noun
Japanese Meaning
オブジェクト指向プログラミングにおいて、基底クラスに定義されたメソッドが、派生クラスで保持される強固な不変条件を破ってしまう可能性がある設計上の問題。例えば、楕円のサブタイプとして円をモデル化した際に、楕円に備わった変形メソッドを円にも実装させる必要が生じ、円としての特性に矛盾が生じるケースを示す。
What is this buttons?

オブジェクト指向のAPIを設計する際には、円を楕円のサブタイプとしてモデル化するという問題を避けるべきです。なぜならそれがサブクラスに強い不変条件を破るような変更を実装させてしまうからです。

Quizzes for review

(object-oriented programming) The problematic situation where a base class contains methods which mutate an object in a manner which may invalidate a (stronger) invariant found in a derived class, violating the Liskov substitution principle. For example, if a circle is modelled as a subtype of an ellipse, and the ellipse has a method that stretches it on one axis, the circle must also implement that method despite it making no sense for a circle.

音声機能が動作しない場合はこちらをご確認ください
See correct answer

circle-ellipse problem

When designing object-oriented APIs, you should avoid the circle-ellipse problem because it forces subclasses to implement mutations that can violate stronger invariants.

See correct answer

When designing object-oriented APIs, you should avoid the circle-ellipse problem because it forces subclasses to implement mutations that can violate stronger invariants.

音声機能が動作しない場合はこちらをご確認ください

English - English

Word Edit Setting
  • Users who have edit permission for words - All Users
  • Screen new word creation
  • Screen word edits
  • Screen word deletion
  • Screen the creation of new headword that may be duplicates
  • Screen changing entry name
  • Users authorized to vote on judging - Editor
  • Number of votes required for decision - 1
Sentence Edit Setting
  • Users who have edit permission for sentences - All Users
  • Screen sentence deletion
  • Users authorized to vote on judging - Editor
  • Number of votes required for decision - 1
Quiz Edit Setting
  • Users who have edit permission for quizzes - All Users
  • Users authorized to vote on judging - Editor
  • Number of votes required for decision - 1
Editing Guideline

Login / Sign up

 

Download the app!
DiQt

DiQt

Free

★★★★★★★★★★