Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медведев_С++_CLI_C#_Java_J#.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.17 Mб
Скачать

Пример 2.4.2. Использование функций объектов.

// C++/CLI

CBall *pBall= new CBall(); // Создан объект класса CBall

pBall->Set(70, 80); /* К этому объекту применить функцию Set() класса CBall */

CColBall *pColBall= new CColBall (); // Создан объект класса CColBall

pColBall->Set(1, 200, 30); /* К этому объекту применить функцию Set()

класса CColBall */

pBall->Show(); // К объекту применить функцию Show() класса CBall

pColBall->Show(); // К объекту применить функцию Show() класса CColBall

// Java и J #

CBall ball= new CBall ( ); // Создан объект ball класса CBall

ball.Set (70, 80); // К объекту ball применить его

// функцию Set() класса CBall

CColBall colBall= new CColBall (); // Создан объект colBall класса CColBall

colBall.Set (1, 200, 30); // К объекту colBall применить его

// функцию Set() класса CColBall

ball.Show (); // К объекту ball применить его функцию Show() класса CBall

colBall.Show (); // К объекту colBall применить функцию Show() класса CColBall

/ / C #

CBall ball = new CBall(); // Создан объект ball класса CBall

ball.Set(70, 80); /* К объекту ball применить его функцию Set() класса CBall */

CColBall colBall = new CColBall(); // Создан объект colBall класса CColBall

colBall.Set(1, 200, 30); /* К объекту colBall применить его функцию

Set() класса CColBall*/

ball.Show(); // К объекту ball применить его функцию Show() класса CBall

colBall.Show(); // К объекту colBall применить функцию Show класса CColBall

На диаграмме классов языка UML (рис.2.4.1) в виде прямоугольников представлены базовый и производный классы со стрелкой, направленной от производного класса CColBall к базовому классу CBall (означает порождение или наследование). Каждый прямоугольник состоит из трех частей, содержащих соответственно имя класса, перечень данных и перечень функций. Символ "-" означает доступ private, а символ "+" - public.

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

Рис. 2.4.1. Класс CColBall наследуется из базового класса CBall

Как уже говорилось, на языке UML объект представляется подобно классу, но вместо имени класса указывается имя объекта, отделённое двоеточием от имени класса. Если представляется произвольный объект, то имя объекта опускается. Имена объекта и класса подчёркиваются (рис.2.4.2).

Рис. 2.4.2. Различные представления объектов классов CBall и CColBall

2.5Библиотеки классов

При создании разных программ часто используются схожие объекты.

Например, обычно каждая программа содержит объект прикладного окна, объекты кнопок и т.д. Эти объекты отличаются значениями своих данных: прикладные окна имеют разные заголовки, а кнопки имеют отличные наименования и размеры.

Чтобы каждому программисту не разрабатывать самостоятельно классы множества подобных широко используемых объектов, предлагаются созданные профессиональными программистами сотни классов стандартных объектов, объединённых в библиотеки.

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

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

Программистам известны и широко применяются такие библиотеки классов как STL, MFC, ATL, .NET Framework Class Library, java.lang, java.util, java.io и другие.

Библиотека STL {Standard Template Library) - библиотека так называемых шаблонных классов, используемых при работе с данными.

Библиотека MFC (Microsoft Foundation Class library) - библиотека базовых классов предназначена для разработки многофункциональных Windows-приложений.

Библиотека ATL (Active Template Library) — библиотека активных шаблонных классов ориентирована на профессиональных программистов и предназначена для разработки так называемых ATL-серверов и компактных СOМ-объектов.

Библиотека .NET Framework Class Library - библиотека классов для разработки программных компонентов на .NET платформе и их совместного выполнения.

Библиотеки java.lang, java.util, java.io, java.awt, java.swing и другие – библиотеки классов (пакеты) для разработки программ на языке Java. При разработке программных компонентов дополнительно используются библиотеки java. beans, javax.servlet.

Не останавливаясь на особенностях, достоинствах и недостатках вышеперечисленных библиотек, мы уделим внимание последним двум библиотекам, поскольку именно они ориентированы на современную .NET технологию и программирование Java программ.

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

Части, например, библиотеки .NET Framework Class Library называют пространствами имён. Наиболее часто используемым пространством имён является System. Это пространство имён включает другие, а те, в свою очередь, могут включать иные пространства имён. Также часто применяется пространство имён, ссылаемое как System.Windows.Forms. Здесь явно указывается вхождение одного пространства имён в другое.

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