Constructor (object-oriented Programming)

Constructor (object-oriented Programming)

Definition: "a constructor is an initialization routine having the same name as the class name, which is called automatically at the time of object creation." In object-oriented programming, a constructor (sometimes shortened to ctor) in a class is a special type of subroutine called at the creation of an object. It prepares the new object for use, often accepting parameters which the constructor uses to set any member variables required when the object is first created. It is called a constructor because it constructs the values of data members of the class.

A constructor resembles an instance method, but it differs from a method in that it never has an explicit return-type, it is not inherited (though many languages provide access to the superclass's constructor, for example through the super keyword in Java), and it usually has different rules for scope modifiers. Constructors are often distinguished by having the same name as the declaring class. They have the task of initializing the object's data members and of establishing the invariant of the class, failing if the invariant is invalid. A properly written constructor will leave the object in a valid state. Immutable objects must be initialized in a constructor.

Programmers can also use the term constructor to denote one of the tags that wraps data in an algebraic data type. This is a different usage than in this article.

Most languages allow overloading the constructor in that there can be more than one constructor for a class, each having different parameters. Some languages take consideration of some special types of constructors.

Read more about Constructor (object-oriented Programming):  Syntax, Java, Visual Basic .NET, C#, C++, F#, Eiffel, ColdFusion, Object Pascal, Perl, Perl With Moose, PHP, Python, Ruby, Constructors Simplified, With Pseudocode