понедельник, 14 марта 2016 г.

Классы в Java

Как и в других языках программирования, реализующих возможности ООП, в 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

Добавить в программу класс-наследник Параллелипипед. Новое поле- высота. Методы – конструктор (с вызовом конструктора суперкласса), Объем, Площадь (переопределить).

1 комментарий:

  1. 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);

    ОтветитьУдалить