This HTML5 document contains 59 embedded RDF statements represented using HTML+Microdata notation.

The embedded RDF content will be recognized by any processor of HTML5 Microdata.

Namespace Prefixes

PrefixIRI
dcthttp://purl.org/dc/terms/
dbohttp://dbpedia.org/ontology/
foafhttp://xmlns.com/foaf/0.1/
n12http://c2.com/cgi/
dbthttp://dbpedia.org/resource/Template:
rdfshttp://www.w3.org/2000/01/rdf-schema#
n13http://okmij.org/ftp/Computation/Subtyping/
n17https://web.archive.org/web/20150409211739/http:/www.parashift.com/c++-faq-lite/
n16https://web.archive.org/web/20150905081111/http:/www.objectmentor.com/resources/articles/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
n11http://alistair.cockburn.us/index.php/
n15http://www.ddj.com/dept/cpp/
n18http://orafaq.com/usenet/comp.databases.theory/2001/10/01/
n8http://en.wikipedia.org/wiki/
dbphttp://dbpedia.org/property/
dbchttp://dbpedia.org/resource/Category:
provhttp://www.w3.org/ns/prov#
xsdhhttp://www.w3.org/2001/XMLSchema#
dbrhttp://dbpedia.org/resource/
n10https://web.archive.org/web/20110719101727/http:/www.informatik.uni-augsburg.de/de/lehrstuehle/dbis/db/publications/all_db_publications/1996_koe_kie_isotas96/

Statements

Subject Item
dbr:Circle–ellipse_problem
rdfs:label
Circle–ellipse problem
rdfs:comment
The circle–ellipse problem in software development (sometimes called the square–rectangle problem) illustrates several pitfalls which can arise when using subtype polymorphism in object modelling. The issues are most commonly encountered when using object-oriented programming (OOP). By definition, this problem is a violation of the Liskov substitution principle, one of the SOLID principles.
dbp:wikiPageUsesTemplate
dbt:Pre dbt:Cite_journal dbt:Reflist dbt:Em dbt:= dbt:More_footnotes dbt:Mono
dct:subject
dbc:Object-oriented_programming dbc:Anti-patterns
dbo:wikiPageExternalLink
n10:1996_kow_koe_kie_isotas96.pdf n11:Constructive_deconstruction_of_subtyping n12:wiki%3FLiskovSubstitutionPrinciple n13: n15:184403771%7Cauthorlink=Kevlin n16:lsp.pdf n17:proper-inheritance.html%23faq-21.6 n18:0001.htm
prov:wasDerivedFrom
n8:Circle–ellipse_problem?oldid=1071985472&ns=0
dbo:wikiPageID
9022379
dbo:wikiPageLength
21508
dbo:wikiPageRevisionID
1071985472
dbo:wikiPageWikiLink
dbr:Mixin dbr:Rectangle dbr:Inheritance_(object-oriented_programming) dbr:Common_Lisp_Object_System dbr:Marshall_Cline dbr:Mutator_method dbr:WikiWikiWeb dbr:Circle dbr:Class_(computer_programming) dbr:Subtyping dbc:Object-oriented_programming dbr:Exception_handling dbr:Abstract_type dbr:Common_Lisp dbr:Object-oriented_programming dbr:Robert_C._Martin dbr:Method_(computer_programming) dbr:Object-oriented_analysis_and_design dbr:Immutable_object dbr:Eiffel_(programming_language) dbr:C++ dbr:Alistair_Cockburn dbr:Ellipse dbr:Assignment_(computer_science) dbr:Smalltalk dbr:Liskov_substitution_principle dbr:Object_model dbr:SOLID dbr:Square dbc:Anti-patterns dbr:Is-a dbr:Dr._Dobb's_Journal dbr:Multiple_inheritance dbr:Software_development
dbo:abstract
The circle–ellipse problem in software development (sometimes called the square–rectangle problem) illustrates several pitfalls which can arise when using subtype polymorphism in object modelling. The issues are most commonly encountered when using object-oriented programming (OOP). By definition, this problem is a violation of the Liskov substitution principle, one of the SOLID principles. The problem concerns which subtyping or inheritance relationship should exist between classes which represent circles and ellipses (or, similarly, squares and rectangles). More generally, the problem illustrates the difficulties which can occur when a base class contains methods which mutate an object in a manner which may invalidate a (stronger) invariant found in a derived class, causing the Liskov substitution principle to be violated. The existence of the circle–ellipse problem is sometimes used to criticize object-oriented programming. It may also imply that hierarchical taxonomies are difficult to make universal, implying that situational classification systems may be more practical.
foaf:isPrimaryTopicOf
n8:Circle–ellipse_problem