Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Этап 3. Разработка события ev и уведомления






     

    Включим в класс Ball обычного объекта событие ev и уведомление, сигнализирующее об очередном цикле выполнения потока. Это событие и уведомление обрабатывается функцией HandlerEv или update() класса Balls, что будет использовано при перерисовке шаров в области клиента прикладного окна на четвёртом этапе. На рис. 5.3.3.1 и в примерах 5.3.3.1 и 5.3.3.2 представлены диаграмма классов третьего этапа и программы, реализующие её.

     

    Рис. 5.3.3.1. Диаграмма классов Balls–приложения третьего этапа

     

    Пример 5.3.3.1. Реализация третьего этапа разработки Balls–приложения.

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

    // С# File BallsCs3.cs

    // Файл BallsCs3.cs полностью включает файл BallsCs2.cs, дополнив

    // его объявлением события ev в классе Ball и функцией HandlerEv

    // класса Balls, обеспечивающей обработку этого события.

    // Изменения файла BallsCs2.cs выделены жирным шрифтом.

    ...

    //-------------------------------------

    delegate void delEv (); // Объявление типа delEv делегата события ev

    class Ball

    {

    public event delEv ev; // Объявление события ev

    ...

    //---------------

    void BallFunc () // Выполнить поток

    {

    int n= 0;

    while (life)

    {

    Console.Write (" Объект {0}", num.ToString ());

    Console.WriteLine (" n= {0}", n.ToString ());

    n++;

    if (ev! = null) // Если событие активизировано, то

    {

    Console.WriteLine (" Event");

    ev (); //свершить событие

    }

    Thread.Sleep (10);

    }

    Console.Write (" Объект {0}", num.ToString ());

    Console.WriteLine (" завершён");

    }

    };

    //-------------------------------------

    class Balls // Класс потоковых объектов

    {

    Ball [] pBall;

     

    public void HandlerEv () // Обработчик события ev

    {

    Console.WriteLine (" HandlerEv");

    }

     

    public Balls () // Конструктор

    {

    pBall= new Ball [2];

    for (int i= 0; i < 2; i++)

    {

    pBall[i]=new Ball (i);

    pBall[i].ev+= new delEv(HandlerEv); // Добавить

    }

    Start ();

    }

    ...

    }

    class BallsCs3

    {

    static void Main (string[] args)

    {

    Balls pBalls= new Balls (); // Создать объект класса Balls

    Console.WriteLine(" Объекты функционируют");

    Thread.Sleep (20); // Объект функционирует 20 мс

    pBalls.Suspend (); // Приостановить функционирование

    }

    }

    Результат:

    Объекты функционируют

    Объект 0 n= 0

    Event

    HandlerEv

    Объект 1 n= 0

    Event

    HandlerEv

    Объект 0 n= 1

    Event

    HandlerEv

    Объект 1 n= 1

    Event

    HandlerEv

    */

     

    Пример 5.3.3.2. Реализация третьего этапа разработки Balls–приложения на языке Java.

     

    package BallsCj3;

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

    //C# File BallsCj3

    import java.util.*;






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.