Nullary constructor
Appearance
![]() | It has been suggested that this article be merged into Default constructor. (Discuss) Proposed since October 2007. |
![]() | This article provides insufficient context for those unfamiliar with the subject. |
The term constructor has different meanings depending on the context.
OO constructors
In object-oriented programming, a constructor is code that is run when an object is created. A constructor that takes no arguments is called a default constructor.
Java example
public class Example
{
/* '''nullary constructor''' */
public Example () {
this(1);
}
/* non-nullary constructor */
public Example (int data) {
this.data = data;
}
protected int data;
}
Algebraic data types
In algebraic data types, a constructor is one of many tags that wrap data. If a constructor does not take any data arguments, it is nullary.
Haskell example
-- nullary type constructor with two nullary data constructors data Bool = False | True -- non-nullary type constructor with non-nullary data constructor data Point a = Point a a -- nun-nullary type constructor with... data Maybe a = Nothing -- ...nullary data constructor | Just a -- ...unary data constructor