• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом

Java Урок 19: КЛАСС, методы возвращающие значения

Рассмотрим методы, возвращающие значения.

Скачать исходники для статьи можно ниже

Рассмотрим пример:

class Box {
   double width;
   double height;
   double depth;
   // отображение объема параллелепипеда
   void volume() {
      System.out.print("Объем равен ");
      System.out.println(width * height * depth);
   }
}
 
class BoxDemo1 {
   public static void main(String args[]) {
      Box myboxl = new Box();
      Box mybox2 = new Box();
      myboxl.width = 10;
      myboxl.height = 20;
      myboxl.depth = 15;
      mybox2.width = 3;
      mybox2.height = 6;
      myboxl.volume();
      mybox2.volume();
   }
}

Хотя реализация метода volume() переносит вычисление объема параллелепипеда внутри класса Box, которому принадлежит этот метод, такой способ вычисления не является наилучшим. Например, что делать, если другой части программы требуется знание объема параллелепипеда без его отображения? Более рациональный способ реализации метода volume() — вычисление объема параллелепипеда и возврат результата вызывающему объекту. Следующий пример — усовершенствованная
версия предыдущей программы — выполняет именно эту задачу.

class Box {
   double width;
   double height;
   double depth;
   // вычисление и возвращение объема
   double volume() {
      return width * height * depth;
   }
}

class BoxDemo2 {
   public static void main(String args[]) {
      Box myboxl = new Box();
      Box mybox2 = new Box();
      double vol;
      // присваивание значений переменным экземпляра myboxl
      myboxl.width = 10;
      myboxl.height = 20;
      myboxl.depth = 15;
      // присваивание других значений переменным экземпляра mybox2 
      mybox2.width = 3;
      mybox2.height = 6;
      mybox2.depth = 9;
      // получение объема первого параллелепипеда
      vol = myboxl.volume();
      System.out.println("Объем равен " + vol);
      // получение объема второго параллелепипеда
      vol = mybox2.volume();
      System.out.println("Объем равен " + vol);
   }
}

Как видите, вызов метода volume() выполняется в правой части оператора
присваивания. Правой частью этого оператора является переменная, в данном случае vol, которая будет принимать значение, возвращенное методом volume().
Таким образом, после выполнения оператора

vol = myboxl.volume();

метод myboxl.volume() возвратит значение 3000, и этот объем cохраняется в переменной vol.

При работе с возвращаемыми значениями следует учитывать два важных обстоятельства.
• Тип данных, возвращаемых методом, должен быть совместим с возвращаемым типом, указанным методом. Например, если возвращаемым типом какого-либо метода является boolean, нельзя возвращать целочисленное значение.
• Переменная, принимающая возвращенное методом значение (такая, как vol), также должна быть совместима с возвращаемым типом, указанным для метода.
И еще один нюанс: предыдущую программу можно было бы записать в несколько более эффективной форме, поскольку в действительности переменная vol совершенно не нужна.
Обращение к методу volume() можно было бы использовать в вызове метода println() непосредственно, как в следующей строке кода.

System.out.println("Объем равен" + myboxl.volume());

В этом случае при вызове метода println() метод myboxl.volume() будет
вызываться автоматически, а возвращаемое им значение будет передаваться методу println().

Добавить комментарий