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

10.3. Простейшие приложения

Создадим простейшее Windows-пршожеше, которое выдаёт на экран

прикладное окно с именем "Hello".

Рис.10.3.1. Прикладное окно приложения Hello примера 10.3.1

Пример 10.3.1. C#. Простое Windows-приложение. Два варианта.

////////////////////

// C# Вариант 1

class MainClass

{

static void Main ( )

{

System.Windows.Forms.Form form=

new System.Windows.Forms.Form ();

form.Size= new System.Drawing.Size (300, 100);

form.Text= "Hello";

System.Windows.Forms.Application.Run (form);

>

////////////////////

// C# Вариант 2

using System.Wlndows.Forms;

using System.Drawlng;

class MalnClass

{

static void Main ()

{

Form form= new Form ();

form.Size= new Size (300, 100);

form.Text= "Hello";

Application,Run (form);

>

>

C#. Windows-приложение начинает выполнять главная функция Main().

Функция Main() примера 10.3.1 создаёт объект form прикладного окна из

класса Form пространства имён System.Windows.Forms библиотеки .NET

Framework. Затем она устанавливает свойство Size объекта form окна, при-

своив этому свойству ссылку на объект класса Size пространства имён

System, содержащий ширину и высоту окна. Потом определяется свойство

Text, указывающее заголовок объекта form окна. Сформировав прикладное

окно, функция Main() запускает приложение, вызвав статическую функцию

Run() класса Application пространства имён System.Windows.Forms и передав

ей ссылку form на объект окна в качестве её аргумента. Аргументом функ-

ции Run() является ссылка на главное (прикладное) окно приложения. Полу-

чив ссылку на прикладное окно, функция Run() высвечивает его на экране. В

дальнейшем будут рассмотрены и другие окна, но они отображаются на эк-

ране с помощью функции Show().

Для сокращения текста программы во втором варианте программы

употреблён оператор using, указывающий на возможность применения в про-

грамме классов пространства имён System.Windows.Forms и пространства

имён System.Drawing без указания их перед каждым классом, как это имело

место в первом варианте программы.

Пример 10.3.2. Java. Простое оконное приложение.

///////////////

// Java и J#

Import java.Awt.*;

class MainClass

{

public static void main ( )

{

Frame frame= new Frame ();

frame.setSize (300, 100);

frame.setTitle ("Hello");

frame.show ( );

Java. В отличие от C# программы примера 10.3.1 функция main() Java про-

граммы примера 10.3.2 создаёт объект frame прикладного окна из класса

Frame пакета java.awt. Затем функция main(), используя функцию-свойство

setSize(), устанавливает ширину и высоту размер окна. Потом функция-

свойство setTitle() определяет заголовок прикладного окна. Как видим, в слу-

чае языка Java не требуется явно вызывать функцию Run(), она вызывается

неявно. Чтобы показать прикладное окно на экране, надлежит обязательно

вызвать функцию show().

C# и Java. Примеры 10.3.1 и 10.3.2 показывают сходство и отличие C# и Java

программ при написании простых приложений. Разные библиотеки со-

держат разноимённые классы и разноимённые свойства для создания сход-

ных объектов и при использовании сходных свойств. В C# программе для

подключения требуемых стандартных классов применяется оператор using, а

в Java программе - оператор import. Функция Main() в C# программе пишется

с большой буквы, а в Java программе - с маленькой. В C# программе исполь-

зуются непосредственно свойства Size и Text, а в Java программе - функции

setSize() и setTitle() свойств. В C# программе явно применяется функция

Run() и показывает прикладное окно, а в Java программе эта функция вызы-

вается неявно и не показывает окно, так что приходится вызвать функцию

show(). Надо заметить, что на языке C# принято писать имена функций с

большой буквы, а на языке Java с маленькой.

Пример 10.3.3 иллюстрирует оконное приложение наязыке C++/CLI.

Пример 10.3.3. C++/CLI. Простое Windows-приложение.

///////////////

// C++/CLI

#include "stdafx.h"

#using<System.dll>

#uslng<System.Windows.Forms.dll>

#using<System.Drawlng.dll>

using namespace System;

using namespace System::Windows::Forms;

using namespace System::Drawing;

ref class MalnC!ass : public Form

<

public:

MainClass (vold)

{

this->Slze = *gcnew Drawing::Size (300,300);

// или thls->Slze = Drawing::Size (300,300);

this->Text = "Hello";

>;