Перегруженные методы
Оценка 4.6

Перегруженные методы

Оценка 4.6
docx
18.11.2021
Перегруженные методы
Л2-002116.docx

Перегруженные методы

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

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

Выяснение конкретного метода, который будет реально вызван, производится на этапе трансляции по следующей схеме:

1.   Вызывающий метод – это тот метод, который совпадает с вы- зовом по имени, количеству и типу параметров.

2.   Если такого метода нет, вызывается метод, который совпадает с вызовом по имени и количеству параметров, при этом аргу- менты могут быть преобразованы к типу параметров без поте- ри информации

3.   Если такого метода нет, фиксируется ошибка.


Пример

Определить класс, описывающий понятие точка, методы, реали- зующие операции:

-  Установка точки на числовой оси

-  Установка точки на плоскости

-  Установка точки в трехмерном пространстве

-  Вычисление расстояния от точки до начала координат

 

 

class Точка

{

private double x, y, h;

 

//установка точки на прямой

public void Set(double xp)

{

x = xp; y = 0; h = 0;

}

 

//установка точки на плоскости

public void Set(double xp, double yp)

{

x = xp; y = yp; h = 0;

}

 

//установка точки в пространстве

public void Set(double xp, double yp, double hp)

{

x = xp; y = yp; h = hp;

}

 

//вычисление расстояния

public double Dist()

{

return Math.Sqrt(x * x + y * y + h * h);

}

}

 

class Program

{

public static void Main()

{

double d; //расстояние Точка тчк = new Точка();

 

тчк.Set(2.0); //будет вызван первый Set() d=тчк.Dist(); // d=2.0

 

тчк.Set(3.0,4.0); //будет вызван второй Set() d=тчк.Dist(); // d=5.0

 

тчк.Set(2,3,6); //будет вызван третий Set


d=тчк.Dist(); // d=7.0

}

}

 

 

Перегруженные методы не различаются по типу возвращаемого значения.

 


 

Перегруженные методы В одном классе может быть определено несколько методов с одним именем, но с разным составом параметров по количеству, типам, способу передачи аргументов

Перегруженные методы В одном классе может быть определено несколько методов с одним именем, но с разным составом параметров по количеству, типам, способу передачи аргументов

Пример Определить класс, описывающий понятие точка, методы, реали- зующие операции: -

Пример Определить класс, описывающий понятие точка, методы, реали- зующие операции: -

Dist(); // d=7.0 } }

Dist(); // d=7.0 } }
Скачать файл