Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Объектно- ориентированное программирование – новый способ подхода к программированию. Основное понятие языков объектно- ориентированного программирования – объект.
Объект – это логическая единица, которая содержит данные и правила (методы) обработки этих данных. В качестве таких правил обработки выступают функции, т.е. объект объединяет в себе данные и функции, обрабатывающие эти данные. Внутри объекта данные и функции могут быть
- частными (приватными, private),
- защищенными (protected)
- общими (public).
Объектно – ориентированные языки обладают четырьмя важнейшими характеристиками:
инкапсуляцией, наследованием, полиморфизмом, абстракцией типов.
Понятие инкапсуляции означает, что в качестве единого целого рассматривается объединение некоторой группы данных и некоторой группы функций, называемых функциями- членами. В объекте реализована защита данных: если данные или функции- члены объявлены приватными или защищенными, то к ним нет доступа извне. Зато данные и функции, объявленные общими, доступны любому внешнему объекту.
Наследование позволяет одним объектам приобретать атрибуты и свойства других объектов, т.е. строить иерархию объектов, переходя от более общего к частному, уточняя и конкретизируя объект.
Полиморфизм означает, что одно и то же имя может использоваться для логически связанных, но разных целей, т.е. имя определяет класс действий, которые в зависимости от типа данных могут существенно отличаться. Например, сложение x и y для разных типов данных – целых, комплексных чисел, векторов.
Для того, чтобы определить объект, надо сначала определить его форму с помощью ключевого слова class. Например, определим класс queue, который затем будем использовать для определения объектов. Очередь- это структура данных, для которой введены действия «поставить в очередь» и «обслужить», при этом постановка в очередь осуществляется в конец очереди, а обслуживание происходит с начала очереди. Пусть очередь состоит из целочисленного массива и двух целочисленных переменных- маркера начала и маркера конца очереди. Поставить в очередь- это заполнить заданным значением очередной элемент массива с конца очереди. Обслужить – выдать значение очередного элемента с начала очереди. Очередь считается полной, если заполнен последний элемент массива. Очередь считается пустой, если маркеры начала и конца очереди указывают на один и тот же элемент массива.
Объявим класс queue:
|
По умолчанию все элементы класса приватные.
Приватные элементы не могут использоваться никакими функциями, не являющимися членами класса. Приватные функции, которые также можно определить, могут вызываться только другими функциями-членами класса. Чтобы переменные и функции были доступны для всех частей программы, следует объявить их общими, т.е. после ключевого слова public.
Функции init( ), qput( ) и qget( ) называются членами-функциями класса queue. Эти функции имеют доступ к приватной части класса, т.к. они объявлены в классе.
После создания класса можно определить объект (переменную) этого типа с использованием имени класса, например, queuea,b; т. е. создали два объекта (a и b) одного типа. Классы – это не объекты (переменные), а шаблоны (типы) для создания объектов.
Для описания функций- членов класса необходимо указать, к какому классу относится эта функция.
Определим функцию init() класса queue следующим образом:
|
Для вызова функции из любой части программы, не являющихся членами класса, достаточно написать имя объекта и операцию точка, например a.init().
Следующая программа реализует модель структуры данных «очередь».
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.