Отправляет email-рассылки с помощью сервиса Sendsay

Программирование в среде Java

  Все выпуски  

Программирование в среде Java


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

                            Вкус ООП (продолжение).

  Итак, мы определили понятия объекта и класса. ООП предполагает
 моделирование программ в соответствии со следующими тремя концепциями
 развития классов:
   1) инкапсуляция (encapsulation)
   2) наследование (inheritance)
   3) полиморфизм  (polymorphism)
  Инкапсуляция предполагает сокрытие данных в объекте и предоставление
 общедоступных функций управления ими. Таким образом, имея в распоряжении
 некоторой объект, мы не можем непосредственно манипулировать его данными,
 а лишь через предопределенный (при объявлении класса) набор функций. В
 чем плюсы практики инкапсуляции? Во-первых, зачастую, при изменении
 некоторых данных, требуется коррекция каких-то связанных с этими данными
 данных. Так, например, в объекте содержащем массив имен и их число, при
 удалении из списка имени нужно подкорректировать число элементов в массиве.
 В этом случае инкапсуляция представляет удобный (нужно продумать один раз
 при проектировании класса, его функций) и безопасный (безалаберный
 программист не может разрушить данные, поскольку, не имея доступа к самим
 данным вынужден пользоваться функциями предоставленными создателем класса).
 Во-вторых, предоставляя только необходимый набор средств управления
 данными, проектировщик класса оставляет на будущее возможность менять
 структуру данных класса, оптимизировать и т.п.

   Наследование классов-это,грубо говоря, заимствование классом свойств
 (данных и функций) другого класса (базового). Иначе говоря, объявляя класс
 A наследующим класс B, мы определяем в классе A все функции и данные
 класса B. Само собой, мы можем дополнительно в A определить данные и
 функции характерные только A. Так, например, если определен класс "птица"
 содержащий все что нам нужно знать и делать с птицами, то можно
 унаследовать от "птица" класс "попугай" дополнительно определив в нем
 логическую(булевскую) переменную "говорит" которая содержит "да" или "нет"
 взависимости от того говорит ли данный попугай.В остальном мы можем
 обращаться с любой реализацией (объектом) класса "попугай" как с
 любым объектом класса "птица".

  Полиморфизм-способность объекта принимать "различные формы". Простейшим
 примером полиморфизма является наследование "птица"->"попугай" и
 "птица"->"орел". Как видим, здесь "птица" может быть "попугаем" или
 "орлом". Т.о. от одного базового класса наследуются несколько других.

  Если вам не понравилось написанное выше, то увы, для программирования на
 объектно-ориентированном языке необходимо понять и прочувствовать эти
 базовые концепции...

http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное