Вопрос № 80208: Здравствуйте!
Объясните мне пожалуйста классы. До сих пор умудрялся обходится без них но в jave это, как понимаю, очень важно знать, а главное понимать.
Вопрос конечно дурацкий и относится не только к языку java. Пока писал вопрос н...
Вопрос № 80.208
Здравствуйте!
Объясните мне пожалуйста классы. До сих пор умудрялся обходится без них но в jave это, как понимаю, очень важно знать, а главное понимать.
Вопрос конечно дурацкий и относится не только к языку java. Пока писал вопрос начал врубаться.
Пожалуйста попробуйте мне растолковать, всё что я не понял или пропустил.
Идеи объектно-ориентированного подхода достаточно просты. Мы часто мыслим в терминах объектов, обладающих некоторыми свойствами и над которыми можно выполнить некоторые операции. Вот, например, лампочка. Свойство - мощность. Операции - включить, выключить. Конкретная лампочка - это объект. А можно выделить класс объектов, обладающих теми же свойствами. Класс задаёт общие свойства объектов и операции над ними. Значения свойств задаются для конкретных объектов.
1. Маленькие программы можно писать и без классов. Объектно-ориентированный подход появился, когда возникла необходимость создавать настолько большие и сложные программы, что процедурный подход потребовал слишком больших усилий. поэтому возникла идея думать о работе программы как о взаимодействии достаточно крупных объектов, временно забывая об их внутреннем устройстве. Тут используется распространенный принцип борьбы со сложностью - разделяй и властвуй. Сначала решим, какие должны быть крупные куски и как они
должны ввзаимодействовать. Потом аналогичным образом разберемся с каждым из этих кусков, пока не дойдем до простых, которые можно реализовать не разбивая.
2. Класс определяет, какие данные есть у каждого объекта этого класса. Например, в вашем примере координаты x и y есть у каждого объекта класса Point. Может быть несколько объектов класса Point и у каждого из них будут свои координаты. Функции объекта обычно называют методами. От обычных функций методы отличаются тем, что вызываются не сами по себе, а для некоторого объекта и имеют доступ к данным этого объекта (this).
Инкапсуляция данных позволяет ограничить доступ к ним, чтобы возникало меньше ошибок ошибочного изменения данных. Можно считать, что данные принадлежат объекту и только объект имеет право их изменять. Все остальные имеют право только вызывать методы объекта.
3. Ссылку можно сделать на объект класса (p1 и p2) и вызывать мытоды объекта. Вызвать ссылку нельзя - это не функция, а переменная, указывающая на объект. Экземпляр класса (объект) с нужными параметрами создаётся при помощи конструктора (p3).
Я, конечно, постарался кратко все описать и ответить на вопросы, но лучше, всё-таки прочитать какую-нибудь толковую книжку.
Приложение:
Ответ отправил: Allex (статус: 5-ый класс)
Ответ отправлен: 29.03.2007, 10:04 Оценка за ответ: 5 Комментарий оценки: Благодарю.Постепенно врубаюсь.