Характеристики объектно-ориентированного программирования — КиберПедия 

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

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Характеристики объектно-ориентированного программирования

2018-01-29 345
Характеристики объектно-ориентированного программирования 0.00 из 5.00 0 оценок
Заказать работу

Класс является носителем общих для объектов этого класс признаков. Класс характеризуется следующими основополагающими понятиями ООП:

I. Наследование. Позволяет создавать новые классы на основе имеющегося класса с наследование всех его свойств и методов и добавлением собственных. Класс, не имеющий предшественника, называется базовым. Если первый называется базовым, то второй – производным классом (или подклассом). Например, класс «Животное» имеет свойства: «название», «размер», методы «идти», «размножаться». Созданный на его основе класс «Корова» наследует все эти свойства и методы, к которым дополнительно добавляется свойство «домашнее» и метод «давать молоко».

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

Пример объектной модели «Геометрические фигуры на плоскости», содержащей иерархию объектов (классов):

Здесь производный класс образовывается от одного базового класса – так называемое единичное наследование. Однако существует (в некоторых средах программирования C++, VC++) и множественное наследование, при котором производный класс образуется сразу от нескольких базовых, что позволяет создавать достаточно сложные иерархии классов:

II. Полиморфизм. Объекты разных классов могут использовать одноименные методы, работающие по-разному для разных объектов. Или, другими словами, различные объекты выполняют одно и тоже действие по- своему. Например: в одном и том же классе могут быть перегруженные методы (в классе Random – методы Next(…)).

В большинстве случаев методы базового класса в производных классах приходиться переопределять. Все переопределяемые методы по интерфейсу (заголовку) совпадают с методами базового объекта. Во время работы программы вызываются методы соответствующего класса. Например, пусть в базовом классе «Животное» имеется метод «Идти», который переопределен в производных классах «Корова» и «Кенгуру». Объект класса «Корова» выполняет метод «Идти» совсем не так как объект класса «Кенгуру». Компилятор по типу объекта (его классу) распознает, какой конкретно метод надо вызвать, и не вызовет для объекта класса «Корова» метод «Идти» класса «Кенгуру».

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

Полиморфизм проявляется в том, что одно и тоже сообщение может посылаться разным объектам, а понимают они его каждый по-своему. Это увеличивает наглядность программ, поскольку не надо беспокоиться о случайном совпадении имен сообщений. Ведь сообщение – это вызов методов с заданными параметрами.

III. Инкапсуляция – скрытие сложного механизма действия объекта, т. е. скрытие деталей, несущественных для использования объекта. Определив класс, можно создавать объекты этого класса и манипулировать ими, используя методы. При этом некоторые данные и методы, инкапсулированные в одном классе, можно сделать недоступными вне реализации класса, а другие могут быть доступны из любого места программы. Это реализуется с помощью атрибутов доступа к элементам класса (public, protected, private). Для реализации инкапсуляции используется атрибут доступа к членам класса private (частный, закрытый).

15.Форма определения класса в C#. Члены класса. Спецификаторы доступа к членам класса.

2.1. Форма определения класса. Члены класса

Все C# -программы оформляются в виде класса. Определяя класс, мы определяем данные, которые он содержит, и код, манипулирующий этими данными. Данные содержатся в переменных экземпляров, определяемых классом, а код в методах. Класс определяет также ряд специальных членов. Например, статистические переменные, конструкторы, деструкторы, индексаторы, события, операторы и свойства.

Класс создается с помощью ключевого слова class. Общая форма определения класса:

class Имя_класса

{

// Объявление членов-переменных экземпляров (полей):

доступ тип переменная_1;

доступ тип переменная_2;

...

доступ тип переменная_n;

// Конструкторы

 

// Методы:

доступ Тип_возвращаемого_значения Имя_метода_1 (список параметров)

{

// тело метода

}

доступ Тип_возвращаемого_значения Имя метода_2 (список параметров)

{

// тело метода

}

...

доступ Тип_возвращаемого_значения Имя метода_n (список параметров)

{

// тело метода

}

// Свойства и индексаторы

// События

// Операторные методы

}


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

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

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.