Nullary constructor

From Wikipedia - Reading time: 4 min

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 Example 
{
    protected int data;

    /* Nullary constructor */
    public Example()
    {
        this(0);
    }

    /* Non-nullary constructor */
    public Example(final int data)
    {
        this.data = data;
    }
}

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

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), Ottinger, Joseph B.; Linwood, Jeff; Minter, Dave (eds.), "An Introduction to Hibernate 6", 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



Licensed under CC BY-SA 3.0 | Source: https://en.wikipedia.org/wiki/Nullary_constructor
10 views |
Download as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF