Перегрузка

April 7, 2010 by admin Комментировать »

Иногда бывает удобно создать две функции, которые делают одно и то же, но получают разные параметры. Такая задача особенно часто возникает для конструкторов, когда существует несколько способов создания нового экземпляра.

class Point

{

// Создать объект Point по значениям x и y

public Point(int x, int y)

{

this.x = x;

this.y = y;

}

// Создать объект Point по существующему объекту

public Point(Point p)

{

this.x = p.x;

this.y = p.y;

}

int x;

int y;

}

class Test

{

public static void Main()

{

Point myPoint = new Point(10, 15);

Point mySecondPoint = new Point(myPoint);

}

}

Класс имеет два конструктора: первому передаются значения x и y, а второму передается существующий объект Point. В функции Main() приведены примеры использования обоих конструкторов.

При вызове перегруженной функции компилятор выбирает нужную функцию, сравнивая типы переданных параметров с типами, указанными при объявлении функции.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты