Java, Совмещение Методов

Тема в разделе "Java", создана пользователем Aegis, 8 янв 2012.

  1. Aegis

    Aegis New Member

    Регистрация:
    8 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    Добрый день!
    Начал изучать Java и возникли трудности с пониманием чтения некоторых конструкций. В одной из книг описан такой пример:

    Код (Text):
    class Point { int х, у;

    Point(int х, int у) {

    this.x = х;

    this. y = y;

    }

    double distance(int х, int у) {

    int dx = this.x - х;

    int dy = this.у - у;

    return Math.sqrt(dx*dx + dy*dy);

    }

    double distance(Point p) {

    return distance(p.x, p.y);

    } }

    class PointDist {

    public static void main(String args[]) {

    Point p1 = new Point(0, 0);

    Point p2 = new Point(30, 40);

    System.out.println("p1 = " + pi.x + ", " + p1.y);

    System.out.println("p2 = " + p2.x + ", " + p2.y);

    System.out.println("p1.distance(p2) = " + p1.distance(p2));

    System.out.println("p1.distance(60, 80) = " + p1.distance(60, 80));

    } }
    Последние 2 строчки меня озадачили, как правильно нужно читать p1.distance(p2) и p1.distance(60, 80)? Как компилятор интерпретирует эту формулировку?
    Буду признателен за разъяснение!
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Это, в общем-то, вызов ранее описанных методов. Скажем, p1.distance(p2) следует трактовать так: вызов метода класса Point.distance(Point) для объекта этого класса, на который ссылается переменная p1; в качестве параметра метода передается ссылка на другой объект класса Point - p2.
    Рекомендую поподробнее почитать, что такое вообще фукнция в программировании.
     
  3. denis90

    denis90 Гость

    Код (C++):
    double distance(int х, int у) {

    int dx = this.x - х;

    int dy = this- у;

    return Math.sqrt(dx*dx + dy*dy);
    }

    double distance(Point p) {

    return distance(p.x, p.y);

    }
    Почитайте про Перегруженные методы(функции)

    Кратко: Это функции которые имеют одинаковые имена , но
    принимают разные типы аргументов
     
Загрузка...
Похожие Темы - Java Совмещение Методов
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    17
  2. gosteev
    Ответов:
    0
    Просмотров:
    34
  3. Polina
    Ответов:
    0
    Просмотров:
    31
  4. ApplePen
    Ответов:
    0
    Просмотров:
    53
  5. Andrey Kha
    Ответов:
    0
    Просмотров:
    67

Поделиться этой страницей