Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Классы и объекты






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

Такой на первый взгляд искусственный прием позволяет четко разграничить область применимости методов. Вся программа при этом имеет блочную струк­туру, что существенно упрощает анализ программного кода. Но даже в таком подходе было бы мало пользы, если бы каждый объект был абсолютно уникаль­ным. Практика же такова, что каждый объект определяется некоторым общим шаблоном, который называется классом. В рамках класса задается общий ша­блон, то есть структура, на основе которой затем создаются объекты. Данные, относящиеся к классу, называются полями класса, а программный код для их обработки — методами класса.

В классе описывается, какого типа данные относятся к классу (данные называ­ются полями класса), а также то, какие методы применяются к этим данным. Затем в программе на основе того или иного класса создается экземпляр класса (объект), в котором указываются конкретные значения полей и выполняются необходимые действия над ними. Различие между классом и объектом поясним на простом примере, не имеющем никакого отношения к программированию. Поговорим о домашних животных, таких как коты и собаки. Проводя аналогию с программированием, можем определить класс Кот и класс Собака. Опреде­ление класса производится через указание полей (данных) и методов класса. Для класса Кот в качестве полей укажем имя (кличку кота) и окрас (цвет). Для класса Собака задаем поля имя (кличка собаки), окрас и породу. Помимо полей, определим методы для этих классов. По большому счету метод — это то, что может делать объект соответствующего класса (или что можно делать с объек­том). Коты будут мяукать и ловить мышей, а собаки — лаять и вилять хвостом. Отсюда методами класса Кот являются мяукать и ловить мышей, а класса Со­бака — лаять и вилять хвостом. Таким образом, мы определили шаблоны, на основании которых впоследствии будут создаваться экземпляры классов или объекты. Разница между классом и объектом такая же, как между абстрактным понятием и реальным объектом. При создании объекта класса задаем конкрет­ные значения для полей. Когда мы говорим о собаке вообще, как понятии, мы имеем в виду домашнее животное, у которого есть имя, окрас, порода и кото­рое умеет лаять и вилять хвостом. Точно так же, понятие кот означает, что он мяукает и ловит мышей, к нему можно обратиться по имени, и шубка у него может быть какого-то цвета. Это — абстрактные понятия, которые соответству­ют классу. А вот если речь идет о конкретном Шарике или Мурзике, то это уже объекты, экземпляры класса.

Представим, что во дворе живут три собаки и два кота: Шарик (дворняжка коричневого окраса), Джек (рыжий спаниель), Ричард (черная немецкая овчар­ка), Мурзик (белый и пушистый кот) и Барсик (черный кот с белой маниш­кой). Каждый из пяти этих друзей представляет собой объект. В то же время они относятся к двум классам: Шарик, Джек и Ричард являются объектами класса Собака, а Мурзик и Барсик — объектами класса Кот. Каждый объект в пределах класса характеризуется одинаковым набором полей и методов. Од­новременно с этим каждый объект уникален. Хотя Шарик, Джек и Ричард являются объектами одного класса, они уникальны, поскольку у них разные имена, породы и окрасы. Лают и виляют хвостом они тоже по-разному. Но даже если бы мы смогли клонировать, например, Шарика и назвать пса тем же име­нем, у нас, несмотря на полную тождественность обеих Шариков, было бы два объекта класса Собака. Каждый из них уникален, причем не в силу каких-то физических различий, а по причине того, что один пес существует независимо от другого.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.