Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
84 Кб
Скачать
☆

Перегруженные функции

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

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

//Java

class Calculation { public void add( int a, int b)     { int с = a + b; } public void add( float a, float b)     { float с = a + b; }

}

// С++

class Calculation {

void add (lnt &a, int &b)

{int c=a+b;}

void add (double &a, double &b)

{ double c=a+b;}

}

В Java перегруженные методы постоянно находятся в одном классе. Они имеют одну и ту же область видимости с классом. В этом языке нельзя перегружать операторы ++, +, *…и т.д.

Передача аргументов в Java осуществляется только о значению (передаются копии, а не сами переменные). В С++ возможны передачи аргументов по ссылке и значению.

Конструкторы

Как и в C++, в языке Java имя конструктора совпадает с именем класса, он открытый (public) и не имеет возвращаемого значения. Есть конструкторы по умолчанию, а есть и перегруженные, так как конструктор – это метод, который можно перегружать.

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

class Circle {     public double x; // абсцисса центра     public double y; // ордината центра     public double r; // радиус     public Circle() {         x = 0.0;         y = 0.0;         r = 1.0;     }

public Circle(double a, double b, double s) {         x = a;         y = b;         r = s;     }

}

class Circle {     public:

double x,y,z;    Circle() {         x = 0.0;         y = 0.0;         r = 1.0;     } }

Обработка исключений

//Java

public class Exc

{

public static void main(String[] args)

{

int x, у, z;

try

{x= 5; y= 0; z= x/y;

System.out.println("z= "+z);

}

catch(ArithmeticException e)

{System.out.println("Exception is catched");}

}

Число catch() неограниченно. К механизму обработки исключений в Java имеют отношение ключевые слова: — try, catch, throw и finally. Схема работы этого механизма следующая. Вы пытаетесь (try) выполнить блок кода, и если при этом возникает ошибка, система возбуждает (throw) исключение, ко­торое в зависимости от его типа вы можете перехватить (catch) или пере­дать умалчиваемому (finally) обработчику.

Исключения делятся на несколько классов, но все они имеют общего предка — класс Throwable. Его потомками являются подклассы Exception и Error.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]