• ⚡️ Последний шанс: Вебинар по пентесту стартует через 30 минут!

    Друзья, ровно через 30 минут (8 июля в 19:00) начинается наш практический вебинар по пентесту и поиску уязвимостей!

    Если вы хотите:
    🕵️‍♀️ Узнать, как находить и эксплуатировать уязвимости в веб-приложениях.
    💡 Получить ценные инсайты от настоящего эксперта.
    🚀 Сделать решительный шаг в мир кибербезопасности.
    То этот вебинар для вас!

    Ведущий вебинара – Александр Медведев – эксперт с более чем 10-летним опытом в сфере информационной безопасности, пятикратный победитель Standoff и обладатель престижных сертификаций: OSWE, OSCP, PNPT, CEH, CWAPT.

    Успейте присоединиться! Зарегистрироваться сейчас

    Возникли сложности с регистрацией? Пишите нам: @Codeby_Academy
    Будем вас ждать!

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

  • Автор темы Автор темы Aegis
  • Дата начала Дата начала
A

Aegis

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

Код:
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)? Как компилятор интерпретирует эту формулировку?
Буду признателен за разъяснение!
 
как правильно нужно читать p1.distance(p2) и p1.distance(60, 80)?
Это, в общем-то, вызов ранее описанных методов. Скажем, p1.distance(p2) следует трактовать так: вызов метода класса Point.distance(Point) для объекта этого класса, на который ссылается переменная p1; в качестве параметра метода передается ссылка на другой объект класса Point - p2.
Рекомендую поподробнее почитать, что такое вообще фукнция в программировании.
 
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);

}

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

Кратко: Это функции которые имеют одинаковые имена , но
принимают разные типы аргументов
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab