Помощь в написании студенческих работ
Антистрессовый сервис

Интерфейсы. 
Программирование. 
Базовый курс с#

РефератПомощь в написанииУзнать стоимостьмоей работы

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

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

Два вида наследования в ООП

Методология ООП рассматривает два вида наследования — наследование реализации и наследование специфицированной функциональности (контракта).

Наследование реализации предполагает, что производный тип получает члены базового типа и использует их наряду со своими членами, добавленными в его объявлении. При выделении памяти для объекта производного класса память отводится и для полей базового класса и для полей, явно объявленных в теле производного класса. Унаследованные функциональные члены базового класса либо входят в арсенал средств производного класса, либо переопределяются в его объявлении. Наследование реализации обеспечено в C# наследованием классов.

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

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

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

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

На основе одного интерфейса могут быть созданы несколько разных классов, и у каждого из этих классов будет набор всех средств, объявленных в интерфейсе. Однако каждый из классов, реализующих один и тот же интерфейс, может по-своему определить эти средства. Зная, какие методы, свойства, индексаторы и события декларированы в интерфейсе, программист знает средства взаимодействия с объектами класса, реализовавшего данный интерфейс. Таким образом, объекты разных классов, реализующих один интерфейс, могут обрабатываться одинаково. Это, наряду с перегрузкой методов и операций, еще один пример проявления полиморфизма.

Более того, интерфейсы позволяют реализовать в языке C# одну из фундаментальных посылок методологии объектно-ориентированного программирования — принцип подстановки Барбары Дисков (см. [2]). В соответствии с этим принципом объекты разных классов, реализующих один и тот же интерфейс, могут заменять друг друга в ситуации, где от них требуется функциональность, специфицированная интерфейсом.

Показать весь текст
Заполнить форму текущей работой