Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Nullary constructor

From Wikipedia, the free encyclopedia

In computer programming, a nullary constructor is a constructor that takes no arguments.[1] Also known as a 0-argument constructor, no-argument constructor,[2] parameterless constructor or default constructor.[3]

Object-oriented constructors

[edit]

In object-oriented programming, a constructor is code that is run when an object is created. Default constructors of objects are usually nullary.[4]

Java example

[edit]
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;
    }
}

C++ example

[edit]
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;
    }
}

Algebraic data types

[edit]

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

[edit]
-- 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

See also

[edit]

References

[edit]
  1. "Default Constructor in Java – Class Constructor Example". freeCodeCamp.org. 2022-01-13. Retrieved 2022-03-23.
  2. "No-argument Constructor". chortle.ccsu.edu. Retrieved 2022-03-23.
  3. "Default constructors - cppreference.com". en.cppreference.com. Retrieved 2023-04-12.
  4. Ottinger, Joseph B.; Linwood, Jeff; Minter, Dave (2022), "An Introduction to Hibernate 6", in Ottinger, Joseph B.; Linwood, Jeff; Minter, Dave (eds.), Beginning Hibernate 6: Java Persistence from Beginner to Pro, Berkeley, CA: Apress, pp. 1–25, doi:10.1007/978-1-4842-7337-1_1, ISBN 978-1-4842-7337-1, retrieved 2022-03-23