Как и в других языках программирования, реализующих возможности ООП, в Java
Объектом называется совокупность разного типа данных и методов, которые их обрабатывают. Компоненты объекта:
- данные
- методы
Под классом понимается множество объектов, связанных общностью структуры и поведения. Таким образом, класс можно сравнить с шаблоном, по которому создаются объекты.
Библиотеки классов Java
•Стандартная библиотека классов в ЯП Java имеет многоуровневую древовидную структуру классов. Именно благодаря стандартным классам упрощается создание и поддержка прикладных программ.
Рассмотрим пример библиотечного класса. Math - класс, который реализует вычисление математических функций:
Использовать методы и константы класса Math можно следующим образом:
Задание 1
•Написать программу, которая вводит с клавиатуры декартовы координаты точки (с пояснениями) и рассчитывает её сферические координаты.
Создадим класс со следующими характеристиками:
В Java классы можно хранить в виде отдельного класса и в виде вложенного класса. Разница будет заключаться в степени доступности этого класса для использования в других программах.
В случае отдельного файла нужно:
- создать проект
- создать файл, в котором и описать класс.
В случае вложенного класса он дописывается в открытый файл проекта, причем:
- в Java методы определяются сразу, при описании класса
- методы «знают» поля класса
- если метод возвращает значение, то его имя имеет тип и внутри метода используется оператор return.
Пример
Объекты
•Объект – экземпляр класса
. Объект создается с помощью операции new вызовом конструктора.
•Обращение к полям и методам – с указанием имени объекта и, через точку, метода или поля (переменной класса).
В примере выше о1 - объект, экземпляр класса Okr.
Подробнее об оформлении класса можно почитать здесь.
Подробнее об оформлении класса можно почитать здесь.
Задание 2
•Написать программу, в которой определен класс Прямоугольник: поля- a,b, L,S(все-скрытые); методы- конструктор, Периметр, Площадь. Создать два объекта, рассчитать для них периметр и площадь, вывести на экран.
Сравнить определенные выше объекты.
Сравнить определенные выше объекты.
Наследование
-возможность использования уже введенных объектов для создания других объектов. Каждый из потомков наследует определение данных и методов своего “родителя”- суперкласса.
В примере описаны суперкласс (класс-родитель) Point и класс-наследник Pixel.
Обратите внимание:
Описать объекты класса-родителя и класса-наследника, можно следующим образом:
Обратите внимание:
- у класса Point два конструктора (с тем же именем)
- в конструкторе с параметрами Point(int x, int y) есть неоднозначность - имена переменных класса и параметры конструктора названы одинаково. В таких случаях к переменным класса однозначно можно обратиться через ссылку this.x
- в классе-наследнике наследуются все переменные и методы родительского класса и описываются новая переменная данного класса с, конструкторы и методы setColor и getColor
- в классе-наследнике внутри конструктора Pixel(int x, int y) производится обращение к конструктору класса-родителя super(x,y)
Описать объекты класса-родителя и класса-наследника, можно следующим образом:
Задание 3
Добавить в программу класс-наследник Параллелипипед. Новое поле- высота. Методы – конструктор (с вызовом конструктора суперкласса), Объем, Площадь (переопределить).
Добавить в программу класс-наследник Параллелипипед. Новое поле- высота. Методы – конструктор (с вызовом конструктора суперкласса), Объем, Площадь (переопределить).
Scanner s = new Scanner(System.in);
ОтветитьУдалитьdouble x=s.nextDouble();
double y=s.nextDouble();
double z=s.nextDouble();
double R=Math.sqrt((x*x)+(y*y)+(z*z));
System.out.println("расстояние от 0 до точки="+R);
double U=Math.atan(Math.sqrt((x*x+y*y)/(z*z)));
System.out.println("Первая координата="+U);
double U2=Math.atan(y/x);
System.out.println("Вторая координата="+U2);
double G=(U/Math.PI)*180;
System.out.println("Перевод в Градусы 1 координаты="+G);
double G2=(U2/Math.PI)*180;
System.out.println("Перевод в Градусы 2 координаты="+G2);