Для объективно ориентированной технологии программирования верно утверждение что наследование это

Обновлено: 04.07.2024

Аннотация: Лекция рассматривает состав языка, типы данных, переменные и константы, а также организацию ввода-вывода данных. Приводятся основные понятия и принципы работы платформы, а также практические примеры.

ООП основано на таких понятиях как " класс ", " объект ", " интерфейс ", " инкапсуляция ", " наследование ", " полиморфизм ", "событие".

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

Класс – это множество объектов с одинаковыми атрибутами и поведением, представляемое в языке программирования в виде абстрактного типа данных, который включает в себя члены класса. Рассмотрим некоторые из них:

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

Класс служит образцом для создания объектов или, другими словами, объект является экземпляром класса.

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

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

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

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

Вспомним нашу первую программу:

Программа содержит класс Program с единственным статическим (static) методом Main , что позволяет обращаться к данному методу класса без создания его экземпляра.

Состав языка

  1. прописные и строчные латинские буквы и буквы национальных алфавитов (включая кириллицу);
  2. арабские цифры от 0 до 9 , шестнадцатеричные цифры от A до F ;
  3. специальные знаки: " < >, | ; [ ] ( ) + - / % * . \ ' : ? ! & ~ ^ @ _
  4. пробельные символы: пробел, символ табуляции, символ перехода на новую строку.

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

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

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

Для улучшения читабельности кода программным элементам следует давать осмысленные имена, составленные в соответствии с определенными правилами. Существует несколько видов нотаций – соглашений о правилах создания имен.

В нотации Pascal каждое слово , входящее в идентификатор , начинается с заглавной буквы. Например: Age , LastName , TimeOfDeath .

Венгерская нотация отличается от предыдущей наличием префикса, соответствующего типу величины. Например: fAge , sName , iTime .

В нотации Camel с заглавной буквы начинается каждое слово идентификатора, кроме первого. Например: age , lastName , timeOfDeath .

Наиболее часто используются нотации Pascal или Camel. Мы будем придерживаться нотации Pascal . Однако в простых программах будут использоваться однобуквенные переменные.

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

Читайте также: