Занятие № 14 Методы

Классы, как правило, состоят из двух вещей: переменные экземпляра и методы. Переменные являются частью данных класса, в то время как методы определяет поведение класса.

Синтаксис

Метод Java return.

Java Методы с параметрами.

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

Java Метод Рекурсия.

Java главный метод main().

Синтаксис главного метода main().

Домашнее задание.

Синтаксис.

Это общая форма метода:

имя типа (список параметров) { 
   // Тело метода 
}

тип определяет тип данных, возвращаемых методом. Если метод не возвращает значение, его тип возвращаемого значения должны быть аннулирован void . Имя метода задается именем.

Список параметров представляет собой последовательность пар типа и идентификаторов, разделенных запятыми.

Параметры принимает значение аргументов, переданных методу.

Если метод не имеет параметров, то список параметров будет пустым , как в примере ниже:

//nookery.ru

public class Calc {
    
    int a;
    int b;
    public void myCalc(){
     
        System.out.print("Результат сложения=");
        System.out.println(a+b);
    }
    
  public static void main(String[] args) {
    
    Calc calc=new Calc();
    calc.a=10;
    calc.b=20;
    calc.myCalc();
    
  }
}

Результат работы программы будет: 30

Метод Java return.

Метод в классе может возвращать значение с обратным утверждением.

Методы, которые имеют тип возвращаемого значения return, кроме void значения,  в вызове подпрограммы используется оператора возврата:

return value;

При этом возвращается значение value.

Рассмотрим другой вариант с калькулятором в следующем примере:

//nookery.ru

public class Calc {
    
    int a;
    int b;
    public int myCalc(){
     int sum = 0;//обязательная инициализавция
     
        sum=a+b;        
        return sum;
    }
    
  public static void main(String[] args) {
    
    Calc calc=new Calc();
    calc.a=10;
    calc.b=20;
    int resualt;
    resualt=calc.myCalc();
    System.out.println("Результат вычисления="+resualt);
    
  }
}

В этой строке обратный оператор возвращает значение из метода myCalc(). И возвращаемое значение присваивается resualt.

resualt=calc.myCalc();

Фактический тип возвращаемых данных , должны быть совместимы с заявленным типом возвращаемого значения . Принимаемая переменная возвращаемого значение resualt, должен быть совместима с типом возвращаемого значения return, тип у обоих у нас int

В следующем примере метод может возвращать типы классов.

//nookery.ru

class DoubleNum {
  int num  = 2;
  DoubleNum() {
  }
  DoubleNum numDouble() {
    DoubleNum vr = new DoubleNum();
    vr.num = vr.num*2;
    return vr;
  }
}

public class Calc {
  public static void main(String args[]) {
    DoubleNum obj1 = new DoubleNum();
    obj1.num =2;
    DoubleNum obj2;

    obj2 = obj1.numDouble();
    System.out.println("obj1.a: " + obj1.num);
    System.out.println("obj2.a: " + obj2.num);

    obj2 = obj2.numDouble();
    System.out.println("obj2 повторный дабл: " + obj2.num);
  }
}

Java Методы с параметрами.

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

Это общая форма метода:

//nookery.ru
class Realised {
  double x;
  double y;

  double myCalc() {
    return x * y;
  }

  void setNum(double w, double h) {
    x = w;
    y = h;
  }
}

public class Calc {

  public static void main(String args[]) {
    Realised xBox = new Realised();
    double one;
    xBox.setNum(20, 30);

    one = xBox.myCalc();
    System.out.println("Результат " + one);

  }
}

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

Java позволяет определить два или более методов в том же классе, с одним и тем же именем, до тех пор, пока их объявления параметров различны.

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

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

Следующий пример иллюстрирует перегрузку методов:

//nookery.ru
class Soft {
  void test() {
    System.out.println("nookery.ru");
  }
  void test(int a) {
    System.out.println("а=" + a);
  }
  void test(int a, int b) {
    System.out.println(a + " и " + b);
  }
  double test(double a) {
    System.out.println("double a=: " + a);
    return a * a;
  }
}
public class Test{
  public static void main(String args[]) {
    Soft ob = new Soft();
    ob.test();
    ob.test(10);
    ob.test(10, 20);
    double result = ob.test(20.5);
    System.out.println("Double result: " + result);

  }
}

Результатом работы программы будет:

java-soft
а=10
10 и 20
double a=: 20.5
Double result: 420.25

Java Метод Рекурсия.

Метод рекурсия позволяет вызывать самого себя.

Следующий код является примером рекурсии. Он вычисляет факториал числа.

//nookery.ru
class Factorial {
  
  int fact(int n) {
     int result;
    if (n == 1)
      return 1;
    result = fact(n - 1) * n;
    return result;
  }
}

public class Test {
  public static void main(String args[]) {
    Factorial f = new Factorial();

    System.out.println("Факториал 6!=" + f.fact(6));

  }
}

Результатом выполнения программы будет: 6!=720

Java главный метод main().

main() метод является точкой входа для автономных Java — приложений. Чтобы создать приложение, вы пишете определение класса , который включает в себя main() метод. Для запуска java приложения, достаточно ввести в консоль java и имя класса, содержащего main() метод.

Синтаксис главного метода main().

public static void main(String[] args)

Тип возвращаемого значения должен быть void . Метод Main () должен быть публичным(public). Метод статичен(static), так что он может быть выполнен без построения экземпляра класса приложения.

После имени метода main, отображаются аргументы командной строки которые хранятся в виде массива строк, они передаются в главный метода main().

Домашнее задание:

  1. Создать класс Fish, в нем реализовать поля вес, породу рыб, длинна, цвет итд, тут я дам вам волю вашему воображению.
  2. Реализовать методы, характеризующие свойства рыб: есть, погружаться, всплывать, размножаться, прятаться, охотится.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.