Студопедия
Главная страница | Контакты | Случайная страница

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

Основные принципы ооп

Читайте также:
  1. Cхемы вязания спицами для начинающих: основные узоры и схемы
  2. I. ОСНОВНЫЕ ПОЛОЖЕНИЯ.
  3. II. ОСНОВНЫЕ ПОЛОЖЕНИЯ ТЕМЫ
  4. II. ОСНОВНЫЕ ПОНЯТИЯ И ПОЛОЖЕНИЯ ТЕМЫ
  5. III. Основные принципы патогенетической терапии вирусных гепатитов
  6. RAID массивы. История создания RAID массивов. Основные преимущества и недостатки RAID массивов всех уровней. Принципы работы.
  7. X. Основные направления развития по видам туризма
  8. А) Исходные философские принципы
  9. А) Основные группы психически зависимых соматических расстройств
  10. А) Основные психофизические функции

1. Абстракция - метод решения задачи, при котором у объектов выделяются их основные черты, определяющие характеристики объекта. Эти черты образуют абстрактную модель объекта – некое упрощённое представление, которого, однако, вполне достаточно для реализации операций над этим объектом в конкретной программе.

2. Инкапсуляция – сокрытие деталей реализации от пользователя. Смысл этой техники в том, что человеку, использующему уже написанный другими программистами код, не обязательно знать как именно он был написан – он просто может использовать его в своём приложении, вызывая общедоступные методы верхнего уровня – те, внутри которых и инкапсулирована основная функциональность.

3. Наследование и полиморфизм – принцип постепенной детализации модели. Оригинальная абстрактная модель проектируется достаточно простой и постепенно усложняется при помощи добавления новых параметров, при этом новая, уточнённая модель, имеет как «старые» параметры, унаследованные от более простой модели, так и «новые», добавленные на этапе уточнения.

Основным понятием является класс – абстрактная модель некого предмета.

Класс может иметь: поля – набор основных характеристик предмета, методы – набор действий, которые объект может совершать.

Классы можно наследовать друг от друга. Это и есть постепенное уточнение модели. При наследовании класс-наследник автоматически получает все поля и методы родительского класса. В остальном это обычный класс, в нём также можно определять поля и методы.

 

Важной особенностью наследования является полиморфизм – возможность, не только уточнять модель, но и по ходу уточнения вносить в неё определённые изменения. В ООП-языках это реализовано в виде возможности переопределять методы. В классе-наследнике можно определить такой же метод, как и в классе-родителе. «Такой же» в данном случае означает, что оба метода принимают одинаковый набор параметров и возвращает значение одного типа. Скажем, мы хотим переопределить такой метод:

 

Методы

Класс может содержать методы – набор действий, которые может совершать моделируемый предмет.

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

Тело метода представляет собой код, который будет исполнен при вызове этого метода, тело заключается в фигурные скобки.

Если метод не возвращает никакого значения, то вместо этого значения указывается void.

Чтобы вернуть значение из тела метода, используется ключевое слово return.

 

Теперь рассмотрим один метод, который стоит особняком в любом классе: конструктор.

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

Конструктор, как и любой другой метод, может принимать параметры. Класс может иметь несколько конструкторов, различающихся сигнатурой. По оформлению кода, конструктор является методом типа void, т.к. в нём не надо возвращать какого либо значения. Имя метода-конструктора должно совпадать с именем класса.

 

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

 

Для того чтобы создать статический метод, перед его именем надо указать модификатор static. Если этого не сделать, то метод можно будет вызывать только в приложении к конкретному объекту данного класса (будет нестатическим).

 

Для обеспечения возможности вызова метода из любого класса приложения, метод стоит объявить с модификатором public.

Ограничить права доступа к методу только тем классом в котором он объявлен можно при помощи модификатор private.

Возможность вызывать метод из любого, унаследованного от данного или его потомков, класса можно с помощью модификатора protected.

Метод main обязан иметь уровень доступа public как раз потому, что к нему обращается виртуальная машина Java, не являющаяся частью какого-либо пакета.

 

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

 




Дата добавления: 2015-09-11; просмотров: 81 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Классы java. Понятие объекта.| Awt и sving

lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав