русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Основные понятия объектно-ориентированного программирования — класс, объект, поле, метод, свойство.


Дата добавления: 2015-07-09; просмотров: 3513; Нарушение авторских прав


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

Объявление объекта типа Building:

Building house = new Building();

Это объявление выполняет две функции. Во-первых, оно объявляет переменную с именем house классового типа Building. Но эта переменная не определяет объект, а может лишь ссылаться на него. Во-вторых, рассматриваемое объявление создает реальную физическую копию объекта и присваивает переменной house ссылку на этот объект. И все это — "дело рук" оператора new. Таким образом, после выполнения приведенной выше строки кода переменная house будет ссылаться на объект типа Building.

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

Есть и другие трактовки термина "класс", показывающие, в частности, чем класс отличается от объекта. Считайте, что класс — это просто новый тип данных (как char, int или long), с которым связаны некие методы. Объект же — это экземпляр типа, или класса. Определение класса как чертежа объекта. На базе класса — "чертежа" набора функциональных возможностей — можно создать объект, обладающий всеми возможностями этого класса.



Поле — член-переменная, содержащая некоторое значение и описанная внутри класса. В ООП поля иногда называют данными объекта. К полю можно применять несколько модификаторов в зависимости от того, как вы собираетесь это поле использовать. В число модификаторов входят static, readonly и const. Поля характеризуют свойства объектов класса. Когда создается новый объект класса, то этот объект представляет собой набор полей класса. Два объекта одного класса имеют один и тот же набор полей, но разнятся значениями, хранимыми в этих полях. Каждое поле имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal( Его назначение — заявить о том, что некоторый член известен во всех файлах, входящих в состав компоновочного, но неизвестен вне его. Проще говоря, член, отмеченный этим модификатором, известен только программе, но не где-то еще).

Метод — элемент класса, кот реализует вычисления или другие действия, выполняемые классом или экземпляром. Метод — это фрагмент кода, к кот можно обратиться по имени. Он описывается один раз, а вызываться может столько раз, сколько необходимо. У метода также есть спецификаторы доступа: public, private, protected, virtual, override, abstract.

Методы — это процедуры (подпрограммы), которые манипулируют данными, определенными в классе, и во многих случаях обеспечивают доступ к этим данным. Обычно различные части программы взаимодействуют с классом посредством его методов. Любой метод содержит одну или несколько инструкций. Каждый метод имеет имя, и именно это имя используется для его вызова. В общем случае методу можно присвоить любое имя. Имена методов сопровождаются парой круглых скобок. Например, если метод имеет имя getval, то в тексте будет написано getval (). Это помогает отличать имена переменных от имен методов.

Запись метода: доступ тип_возврата имя (список_параметров) {// тело метода}

Свойстваиногда называют "разумными" полями (smart fields), так как они на самом деле являются методами, которые клиенты класса воспринимают как поля. Они служат для организации доступа к полям класса. Свойство состоит из имени и пары аксессоров (get, set). Аксессоры используются для чтения содержимого переменной и записи в нее нового значения. Основное достоинство свойства состоит в том, что его имя можно использовать в выражениях и инструкциях присваивания подобно обычной переменной, хотя в действительности здесь будут автоматически вызываться get- и set-аксессоры.

[спецификатор] тип имя_свойства

{ get{return();}//получатель значения поля

set{}//установщик поля служит для его изменения }

 

3. Класс. Синтаксис объявления класса. Ссылка на самого себя

Объектно-ориентированное программирование и проектирование построено на классах. Любую программную систему, выстроенную в объектном стиле, можно рассматривать как совокупность классов, возможно, объединенных в проекты, пространства имен, решения, как это делается при программировании в Visual Studio .Net. У класса две различные роли: модуля и типа данных. Класс - это модуль, архитектурная единица построения программной системы. Модульность построения - основное свойство программных систем. В ООП программная система, строящаяся по модульному принципу, состоит из классов, являющихся основным видом модуля.

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

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

[атрибуты][модификаторы]class имя_класса [:список_родителей]

{// Объявление переменных экземпляров.

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



<== предыдущая лекция | следующая лекция ==>
Основные структуры запоминающих устройств | Конструкторы и деструкторы. Функциональное назначение. Виды конструкторов.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.089 сек.