In computer programming, a nullary constructor is a constructor that takes no arguments. Also known as a 0-argument constructor, no-argument constructor, parameterless constructor or default constructor.
In object-oriented programming, a constructor is code that is run when an object is created. Default constructors of objects are usually nullary.
public class MyInteger {
private int data;
// Nullary constructor
public MyInteger() {
this(0);
}
// Non-nullary constructor
public MyInteger(int value) {
this.data = value;
}
int getData() {
return data;
}
void setData(int value) {
data = value;
}
}
class Integer {
private:
int data;
public:
// Default constructor with parameters
// Leaving parameters unspecified defaults to the default value
Integer(int value = 0):
data{value} {}
[[nodiscard]]
int getData() const noexcept {
return data;
}
void setData(int value) noexcept {
data = value;
}
}
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.
-- nullary type constructor with two nullary data constructors
data Bool = False
| True
-- non-nullary type constructor with one non-nullary data constructor
data Point a = Point a a
-- non-nullary type constructor with...
data Maybe a = Nothing -- ...nullary data constructor
| Just a -- ...unary data constructor