Оценить:
 Рейтинг: 3.5

Java за неделю. Вводный курс

Год написания книги
2018
<< 1 ... 15 16 17 18 19 20 21 22 23 ... 25 >>
На страницу:
19 из 25
Настройки чтения
Размер шрифта
Высота строк
Поля

}

}

public class Listing6_3 {

public static void main (String [] args) {

// Объявляем переменные главного класса

int input1, input2;

String inputString;

// Создаем объект своего класса

MyClass obj=new MyClass ();

// Окно ввода первого значения

inputString=JOptionPane.showInputDialog («Введите первое значение»);

input1 = Integer.parseInt (inputString);

// Окно ввода второго значения

inputString=JOptionPane.showInputDialog («Введите второе значение»);

input2 = Integer.parseInt (inputString);

// Вызываем метод для присвоения значений полям объекта

obj.set (input1, input2);

// Выводим в диалоговое окно результат сложения

JOptionPane.showMessageDialog (null,«Результат сложения: "+obj.summ ());

// Выводим в диалоговое окно результат умножения

JOptionPane.showMessageDialog (null,«Результат умножения: "+obj.multiply ());

}

}

В примере из листинга 6.3 поля класса и метод для присвоения значений этим полям использованы в качестве иллюстрации. В данном примере мы могли бы передавать значения в методы сложения и умножения напрямую, через аргументы вызова. Но на практике в языке Java принято использовать специально написанные методы. Почему?

6.2.1 Геттеры и сеттеры

Метод, присваивающий значения полям объекта, называется сеттер (setter, от английского to set – установить, назначить). Согласно правилам именования Java этот метод должен иметь имя set <свойство> (). Метод, возвращающий значения полей объекта, называется геттер (getter, от английского to get – взять, получить). Этот метод должен иметь имя get <свойство> (). Впрочем, указывать имя свойства не обязательно, о чем говорят угловые скобки.

Геттеры и сеттеры – это стандартные термины программирования на языке Java. Использование геттеров и сеттеров является более безопасным, чем прямое обращение к переменным объекта, поскольку не позволяет менять значения случайно. При использовании сеттера значения полей будут изменены только при вызове метода set (), и только способом, который описан в этом методе.

6.2.2 Перегрузка методов

Язык Java позволяет описывать несколько методов с одинаковыми именами в одном и том же классе. Одноименные методы различаются типом и/или количеством аргументов. Такой подход называется перегрузкой методов и позволяет создавать эффективный и гибкий программный код.

Что происходит, когда мы вызываем метод с одним и тем же именем, но с разными аргументами? На самом деле в программе создаются разные методы, обозначенные одним именем. При вызове метода по имени программа определяет, какой из методов «подходит» для выполнения, исходя из количества и типа переданных аргументов. Для пользователя это выглядит так, будто вызываются разные версии одного метода.

В листинге 6.4 приведен пример использования перегрузки методов для присваивания значений полям объекта.

Листинг 6.4 Пример использования перегрузки методов

// Объявляем собственный класс

class MyClass {

// Объявляем поля класса

int digit;

char letter;

// Метод с одним числовым аргументом

void set (int n) {

digit=n;

}

// Метод с одним символьным аргументом

void set (char s) {

letter=s;

}

// Метод с двумя аргументами

void set (int n, char s) {

set (n); //Присвоить значение полю digit

set (s); //Присвоить значение полю letter

}
<< 1 ... 15 16 17 18 19 20 21 22 23 ... 25 >>
На страницу:
19 из 25