|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]()
![]() |
§07. Объекты. Объект Math. Объект – тип данных, который позволяет переменным содержать в себе одновременно какие либо значения и какие либо функции. Значения называются свойствами объекта, а функции – методами. Другими словами можно сказать, что объект совмещает в себе как данные (свойства), так и функции (методы). Использование объектов называется объектно-ориентированным программированием (ООП). Преимущества ООП могут быть видны не сразу, тем не менее они есть. Поэтому если данная тема вызывает трудности, то их необходимо преодолеть. Тем более, что современное программирование полностью основано на принципах ООП. Создание объекта со свойствами. В простейшем случае переменная типа объект создаётся примерно так же, как и массив: Вместо квадратных скобок используются фигурные, а вместо элементов массива через запятую пишутся свойства, которым с помощью двоеточия присваиваются значения. В данном примере была создана переменная типа объект, у которой есть свойства surname, name и age. Примечание: если говорить правильно, то нужно говорить переменная типа объект. Однако это как то не совсем удобно. Поэтому в данном учебнике переменную типа объект иногда будем называть просто объектом. Доступ к свойствам. В коде программы доступ к свойствам осуществляется с помощью точки. Т.е. после имени переменной ставиться точка, после чего указывается свойство: '); document.write('Имя - ',pupil.name,' '); document.write('Возраст - ',pupil.age,' лет '); Так же с помощью точки значение свойства можно изменить: Создание свойств типа объект. Свойству объекта можно присвоить значение любого типа, в том числе и значение типа объект. В следующем примере добавим к объекту pupil свойство birthday, которое тоже является объектом и имеет свойства day, month и year: Доступ к свойствам birthday будет осуществляться с помощью второй точки: '); document.write('Месяц рождения - ',pupil.birthday.month,' '); document.write('Год рождения - ',pupil.birthday.year,' '); Теперь полноценный пример, демонстрирующий всё вышесказанное: ![]() Создание объекта с методами. Как было уже сказано, переменная типа объект помимо свойств может содержать в себе методы. В простейшем случае создание методов в объекте выглядит следующим образом: ![]() Если вы внимательно посмотрите на код данного примера, то увидите, что методы создаются так же, как и свойства через запятую. Только вместо значения с помощью двоеточия им присваивается функция. Доступ к методам осуществляется так же, как и к свойствам с помощью точки. Объект Math. На данный момент мы уже научились пользоваться операциями Math.random и Math.round. Теперь, изучив данную тему, мы можем называть вещи своими именами. Т.е. слово «операция» использовать не будем вообще, а будем говорить методы random и round объекта Math. Сам объект Math встроен в язык JavaScript и вы в любом месте кода можете им пользоваться. Далее в таблице перечислены все его свойства и методы:
Примечание: всё, что связано с углами в объекте Math вычисляется в радианах. Обработка свойств методами. Самое замечательное в объектах – то, что их свойства можно обрабатывать их же методами, не создавая отдельных функций. Для примера создадим объект прямоугольник, свойствами которого будут координаты двух его точек, а методы будут вычислять его периметр и площадь. Так же напишем метод, который будет сдвигать прямоугольник на заданные значения по осям X и Y: ![]() Примечание: обратите особое внимание на описание метода print_coord, который выводит координаты. При вызове document.write параметр в скобках был разбит на несколько строчек. Это вполне допустимо. Задачи. 1. Дополнить объект pupil методами, выводящими на экран различную информацию об ученике. Например, методы выводящие только фамилию и имя; фамилию и возраст; полностью всю информацию. 2. Создать программу, демонстрирующую свойства и методы объекта Math. 3. Создать объект круг со свойствами, содержащими координаты центра и радиус. Создать методы вычисляющие длину окружности и площадь. А так же метод вычисляющий находится ли точка внутри круга. 4. Создать объект прямоугольник со свойствами, которые содержат координаты двух точек, и свойством, которое задаёт угол поворота фигуры относительно оси X. Создать методы вычисляющие длины сторон, периметр и площадь. А так же метод вычисляющий находится ли точка внутри прямоугольника. Примеры решений. 1. ![]() 2. |