Конструктор (програмування)В об'єктно-орієнтованому програмуванні конструктор класу (від англ. constructor, деколи скорочують ctor) — спеціальний метод класу, який автоматично викликається при створенні об'єкта. ПризначенняПризначення конструктора — встановити початковий стан об'єкта шляхом ініціалізації атрибутів об'єкта та визначити інваріант класу. В більшості мов програмування конструктор схожий з іншими методами, але відрізняється тим, що не має явним чином визначеного типу даних, що повертаються, не успадковується і, здебільшого, має різні правила для модифікаторів. Конструктори часто виділяються тим, що мають однакове ім'я з іменем класу, в якому їх оголошено. В більшості мов програмування конструктор може бути перевантаженим, що дозволяє використовувати кілька конструкторів в одному класі. Деякі мови розрізняють кілька особливих типів конструкторів[джерело?]:
Види конструкторівclass Complex {
public:
// Типовий конструктор
Complex(double i_re = 0, double i_im = 0) : re(i_re), im(i_im) {}
// Конструктор копіювання
Complex(const Complex &obj) { re = obj.re; im = obj.im; }
private:
double re, im;
};
СинтаксисС++Ім'я конструктора в С++ повинно збігатися з ім'ям класу. Допускається використовувати кілька конструкторів з однаковим ім'ям, але з різними параметрами. class ClassWithConstructor {
public:
/* Ініціалізація внутрішнього об'єкта за допомогою конструктора */
ClassWithConstructor(float parameter): object(parameter) {} /* виклик конструктора AnotherClass(float); */
private:
AnotherClass object;
};
PythonВ мові Python конструктором є метод класу з ім'ям __init__ . Крім того потрібно не забувати, що першим аргументом будь-якого методу класу повинен бути вказівник на контекст класу self. class ClassWithConstructor:
def __init__(self):
"""This method is constructor."""
pass
DelphiВ Delphi, на відміну від C++, для оголошення конструктора служить ключове слово TClassWithConstructor = class
public
constructor Create;
end;
Деякі відмінності між конструкторами та іншими методами Java:
public class Example {
// Типовий конструктор
public Example() { this(1); }
// Перевантаження конструктора
public Example(int input) { data = input; }
private int data;
}
// код, який ілюструє створення об'єкта конструктором
Example e = new Example(42);
class myClass
{
private int mA;
private string mB;
public myClass(int a, string b)
{
mA = a;
mB = b;
}
}
myClass c = new myClass(42, "string");
В PHP (починаючи з версії 5) конструктор — це метод class Person
{
private $name;
function __construct($name)
{
$this->name = $name;
}
function getName()
{
return $this->name;
}
}
Тим не менше, конструктор в РНР версії 4 - метод класу з ім'ям цього ж класу class Person
{
private $name;
function Person($name)
{
$this->name = $name;
}
function getName()
{
return $this->name;
}
}
Див. такожДжерела
|
Portal di Ensiklopedia Dunia