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

Объектно-ориентированное программирование. 
Числовые данные в работе ЭВМ. 
Устройства ввода. 
Операционные системы

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

Объектно-ориентированное программирование (ООП) является относительно новым подходом к созданию компьютерных приложений, который призван устранить многие из проблем, существующих в традиционных методиках программирования. Вид программирования, с которым мы пока имели дело, называется функциональным (или процедурным) программированием и часто приводит к созданию так называемых монолитных… Читать ещё >

Объектно-ориентированное программирование. Числовые данные в работе ЭВМ. Устройства ввода. Операционные системы (реферат, курсовая, диплом, контрольная)

Объектно-ориентированное программирование (ООП) является относительно новым подходом к созданию компьютерных приложений, который призван устранить многие из проблем, существующих в традиционных методиках программирования. Вид программирования, с которым мы пока имели дело, называется функциональным (или процедурным) программированием и часто приводит к созданию так называемых монолитных приложений, все функции которых сконцентрированы в нескольких модулях кода (а то и вовсе в одном). В ООП обычно используется гораздо больше модулей, каждый из которых обеспечивает конкретные функции и может быть изолирован или даже полностью отделен от всех остальных. Такое модульное программирование обеспечивает гораздо большую гибкость и возможности для многократного использования кода Уотсон К., Нейгел К. Visual C# 2010. Полный курс. Изд-во: Вильямс, 2011. — С. 195−196. .

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

Объект — это «строительный блок» в ООП-приложении. Такой строительный блок инкапсулирует часть приложения — процесс, порцию данных или какой-то более абстрактный объект.

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

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

Объекты в языке C# создаются из типов, как и хорошо знакомые составные переменные. Для типа объекта в ООП имеется специальное название — класс. Определения классов позволяют создавать объекты — т. е. реальные именованные экземпляры класса. Понятия «экземпляр класса» и «объект» эквивалентны, но термины «класс» и «объект» означают совершенно разные вещи.

Термины «класс» и «объект» часто путают, поэтому очень важно понимать, чем они отличаются. Помочь в этом может наша аналогия с гоночным автомобилем. Классом можно считать чертежи для изготовления автомобиля, а объектом — сам автомобиль, сделанный по этим чертежам.

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

Различные фрагменты содержащихся в объекте данных вместе образуют состояние этого объекта.

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

Объект может четко определять и тип доступа к свойствам (для чтения и/или для записи). Некоторые свойства могут быть доступными только для чтения, т. е. они позволяют узнать их значения, но не изменять их (по крайней мере, непосредственно). Это часто бывает удобно для одновременного считывания нескольких фрагментов состояния.

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

Доступность немного похожа на область видимости переменных. Например, приватные поля и свойства можно считать локальными для объекта, который ими владеет, а область видимости общедоступных полей и свойств охватывает и внешний для объекта код.

Термином «метод» принято называть предоставляемую объектом функцию. Методы могут вызываться так же, как и любые другие функции, и так же возвращать значения и принимать параметры.

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

Объект создается с помощью вызова одного из конструкторов класса. Когда объект становится уже не нужным, он уничтожается с помощью деструктора. Для зачистки после использования объекта часто бывает необходимо избавляться от него вручную.

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

Наследование — это механизм порождения определения одного класса на основе другого. Дочерний класс наследует члены от (единственного) родительского класса. Дочерние классы не могут наследовать приватные члены своего родителя, но можно определить защищенные члены, которые доступны как внутри самого класса, так и внутри классов, порожденных от данного класса. Дочерние классы могут перекрывать члены, определенные в родительском классе как виртуальные. Цепочки наследования всех классов заканчиваются на System. Object, который в C# имеет псевдоним object.

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

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

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