Logo
Unionpedia
Communication
Get it on Google Play
New! Download Unionpedia on your Android™ device!
Download
Faster access than browser!
 

Circle-ellipse problem

Index Circle-ellipse problem

The circle-ellipse problem in software development (sometimes termed the square-rectangle problem) illustrates several pitfalls which can arise when using subtype polymorphism in object modelling. [1]

28 relations: Alistair Cockburn, Assignment (computer science), C++, Circle, Class (computer programming), Common Lisp, Common Lisp Object System, Dr. Dobb's Journal, Eiffel (programming language), Ellipse, Exception handling, Immutable object, Inheritance (object-oriented programming), Liskov substitution principle, Method (computer programming), Mixin, Mutator method, Object model, Object-oriented analysis and design, Object-oriented programming, Rectangle, Robert C. Martin, Smalltalk, Software development, SOLID, Square, Subtyping, WikiWikiWeb.

Alistair Cockburn

Alistair Cockburn (born November 19, 1966) is an American computer scientist, known as one of the initiators of the agile movement in software development.

New!!: Circle-ellipse problem and Alistair Cockburn · See more »

Assignment (computer science)

In computer programming, an assignment statement sets and/or re-sets the value stored in the storage location(s) denoted by a variable name; in other words, it copies a value into the variable.

New!!: Circle-ellipse problem and Assignment (computer science) · See more »

C++

C++ ("see plus plus") is a general-purpose programming language.

New!!: Circle-ellipse problem and C++ · See more »

Circle

A circle is a simple closed shape.

New!!: Circle-ellipse problem and Circle · See more »

Class (computer programming)

In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).

New!!: Circle-ellipse problem and Class (computer programming) · See more »

Common Lisp

Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 (R2004) (formerly X3.226-1994 (R1999)).

New!!: Circle-ellipse problem and Common Lisp · See more »

Common Lisp Object System

The Common Lisp Object System (CLOS) is the facility for object-oriented programming which is part of ANSI Common Lisp.

New!!: Circle-ellipse problem and Common Lisp Object System · See more »

Dr. Dobb's Journal

Dr.

New!!: Circle-ellipse problem and Dr. Dobb's Journal · See more »

Eiffel (programming language)

Eiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software.

New!!: Circle-ellipse problem and Eiffel (programming language) · See more »

Ellipse

In mathematics, an ellipse is a curve in a plane surrounding two focal points such that the sum of the distances to the two focal points is constant for every point on the curve.

New!!: Circle-ellipse problem and Ellipse · See more »

Exception handling

Exception handling is the process of responding to the occurrence, during computation, of exceptions – anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution.

New!!: Circle-ellipse problem and Exception handling · See more »

Immutable object

In object-oriented and functional programming, an immutable object (unchangeable object) is an object whose state cannot be modified after it is created.

New!!: Circle-ellipse problem and Immutable object · See more »

Inheritance (object-oriented programming)

In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototypal inheritance) or class (class-based inheritance), retaining the same implementation.

New!!: Circle-ellipse problem and Inheritance (object-oriented programming) · See more »

Liskov substitution principle

Substitutability is a principle in object-oriented programming stating that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e. an object of type T may be substituted with any object of a subtype S) without altering any of the desirable properties of the program (correctness, task performed, etc.). More formally, the Liskov substitution principle (LSP) is a particular definition of a subtyping relation, called (strong) behavioral subtyping, that was initially introduced by Barbara Liskov in a 1987 conference keynote address titled Data abstraction and hierarchy.

New!!: Circle-ellipse problem and Liskov substitution principle · See more »

Method (computer programming)

A method in object-oriented programming (OOP) is a procedure associated with a message and an object.

New!!: Circle-ellipse problem and Method (computer programming) · See more »

Mixin

In object-oriented programming languages, a Mixin is a class that contains methods for use by other classes without having to be the parent class of those other classes.

New!!: Circle-ellipse problem and Mixin · See more »

Mutator method

In computer science, a mutator method is a method used to control changes to a variable.

New!!: Circle-ellipse problem and Mutator method · See more »

Object model

In computing, object model has two related but distinct meanings.

New!!: Circle-ellipse problem and Object model · See more »

Object-oriented analysis and design

Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the development life cycles to foster better stakeholder communication and product quality.

New!!: Circle-ellipse problem and Object-oriented analysis and design · See more »

Object-oriented programming

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").

New!!: Circle-ellipse problem and Object-oriented programming · See more »

Rectangle

In Euclidean plane geometry, a rectangle is a quadrilateral with four right angles.

New!!: Circle-ellipse problem and Rectangle · See more »

Robert C. Martin

Robert Cecil Martin (colloquially known as Uncle Bob) is an American software engineer and author.

New!!: Circle-ellipse problem and Robert C. Martin · See more »

Smalltalk

Smalltalk is an object-oriented, dynamically typed, reflective programming language.

New!!: Circle-ellipse problem and Smalltalk · See more »

Software development

Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.

New!!: Circle-ellipse problem and Software development · See more »

SOLID

In object-oriented computer programming, the term SOLID is a mnemonic acronym for five design principles intended to make software designs more understandable, flexible and maintainable.

New!!: Circle-ellipse problem and SOLID · See more »

Square

In geometry, a square is a regular quadrilateral, which means that it has four equal sides and four equal angles (90-degree angles, or (100-gradian angles or right angles). It can also be defined as a rectangle in which two adjacent sides have equal length. A square with vertices ABCD would be denoted.

New!!: Circle-ellipse problem and Square · See more »

Subtyping

In programming language theory, subtyping (also subtype polymorphism or inclusion polymorphism) is a form of type polymorphism in which a subtype is a datatype that is related to another datatype (the supertype) by some notion of substitutability, meaning that program elements, typically subroutines or functions, written to operate on elements of the supertype can also operate on elements of the subtype.

New!!: Circle-ellipse problem and Subtyping · See more »

WikiWikiWeb

The WikiWikiWeb is the first-ever wiki, or user-editable website.

New!!: Circle-ellipse problem and WikiWikiWeb · See more »

Redirects here:

Circle ellipse problem, Square rectangle problem, Square-rectangle problem.

References

[1] https://en.wikipedia.org/wiki/Circle-ellipse_problem

OutgoingIncoming
Hey! We are on Facebook now! »