ООП и Java. Объект, класс.

https://j.livelib.ru/boocover/1000611610/o/afda/Bryus_Ekkel__Filosofiya_Java.jpeg

Все чаще, основным инструментом в творческом процессе создания становится компьютер. Живопись, музыка, стихи, архитектура - идеи зарождаются в умах, но планируются в машинах. По мере роста сложности реализации, возникает необходимость в новых инструментах, в результате чего вопрос о способе их разработки перекладывается на плечи программистов.

Разбираясь с основами ООП, для большего понимания материала, я обратился к литературе и ознакомился с книгой Брюса Эккеля «Философия java». В первой главе-введении, он дает простые определения основам, для дальнейшего манипулирования далее этими понятиями. Далее приведены вырезки из разделов главы.

Здесь возникает вопрос о понимании программистом того, что он должен сделать, ведь здесь происходит установление связи между моделью машины и моделью задачи, каждая из которых обладает своим набором свойств.

Основная задача ООП есть описание задачи в контексте самой задачи, а не в контексте компьютера, а исходят из этого, элементы пространства задачи и их представления в пространстве решения называются объекты.

Гради Буч предложил лаконичное и полное описание объекта:

Объект обладает состоянием, поведением и индивидуальностью.

Суть сказанного в том, что объект может иметь в своем распоряжении внутренние данные (которые есть состояние объекта), методы (которые определяют поведение) и уникальным адресом в памяти.

Объекты, идентичные во всем, кроме внутреннего состояния во время работы программы, группируются в классы объектов. Создание абстрактных типов данных есть фундаментальное понятие в ООП.
Абстрактные типы данных действуют почти так же, как и встроенные типы: можно создавать переменные типов (называемые объектами или экземплярами в терминах ООП) и манипулировать ими (посылать запрос).

Поскольку класс определяет набор объектов с идентичными характеристиками (элементы данных) и поведением (функциональность), класс на самом деле является типом данных, потому что, например, число с плавающей запятой тоже имеет ряд характеристик и особенностей поведения.

После определения нового класса вы можете создать любое количество объектов этого класса, а затем манипулировать ими так, как будто они представляют собой элементы решаемой задачи. Однако, трудностью в ООП является установление однозначного соответствия между объектами пространства задачи и объектами пространства решения.

Механизм передачи запроса к объекту, определяется его интерфейсом, в свою очередь, определяющийся его типом. Код, выполняющий запросы, наряду со скрытыми данными, составляет реализацию.

Источник: Философия Java. Брюс Эккель, 2009 год 4-ое издание.

Автор

Николай Соловьёв

- студент, друг, товарищ и брат; - пишу стихи, сценарии, обожаю математику, музыку; - люблю фэнтези, особенно dark, из авторов - Глен Кук, Сапковский, Айпдак, Саймак, серию "Громенграст"; - люблю советских фантастов, таких как Братья Стругацкие, Станислав Лем, Желязны;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.