Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

СообЧА. Программирование на Delphi


Служба Рассылок Subscribe.Ru проекта Citycat.Ru


  Выпуск №4  Подписчиков: 338 
   
.:: СообЧа - Программирование на Delphi ::.
  © 2000 COOLer и AzYx  Дизайн: Yoghurt 
   

 

Оглавление
  В выпуске  Рассылка СообЧА 
    
  • Практикум
  •  
    Рассылки Subscribe.Ru
    СообЧа (СООБщество ЧАйников). Обмен опытом, вопросы, ответы.

     Назад к оглавлению  
      
      Практикум. 
     
      

         В этом выпуске рассылки мы немного погрузимся в теорию, чтобы потом практика не вызывала у вас вопросов насчет неизвестных понятий, терминов, сложных структур и т.п. Сегодня в теоритическом разделе мы изучим ООП, то есть, говоря научным языком, Объектно-Ориентированное Прогаммирование. Те из вас, кто читал различные книги по программированию, будь то по Делфи, Паскалю или Си, доходя до раздела, посвященного ООП, наверняка с ужасом закрывали книгу или перелистывали ее до конца раздела. А все потому, что ООП авторами книг по программированию, до читателя доносится на техническом языке, используя такие страшные слова, как "Инкапсуляция", "Наследование", "Полиморфизм" и т.п. Все это рядовому программисту знать не обязательно (я про слова, не про ООП), но понимать, что такое ООП желательно, легче жить будет. Потом уже, когда вы начнете выходить из рядов рядовых (извините, не удержался, тавтология) программистов, эти слова будут ясны вам, как божий день. Итак, буду объяснять кратко, чтобы не забивать вам голову, и наглядно, чтобы было понятно.
    Посмотрим на словосочетание "Объектно-Ориентированное Программирование". Разберем по словам. "Объеткно-Ориентированное". Ясен пень, это означает, что все действия производятся над каким-либо или каким-либо объектом. "Программирование" значит, что действия над этими объектами производите вы, программируете. Объект в Делфи может иметь свойства (признаки, переданные ему от вышестоящего по иерархии класса и свои собственные, присущие только ему), методы (действия, связанные с этим обектом), события (действия, операционной ситемы или объекта, которые можно обрабатывать с помощью этого объекта [позже эти дейтсвия вы будете называть сообщениями, действия - для простоты понимания]). Для наглядности возмем любой объект. Ну, мяч, напрмер. Перечислим свойства мяча:

    форма: шарообразный,
    поверхность: гладкий,
    цвет: белый (или разноцветный, кому как нравится).
    Методы:пнуть мяч, кинуть, взять в руки, ударить о землю и т.д.
    События:полет мяча (обработка сообщения: поймать мяч, или, чтобы избежать удара, уклониться), ловля мяча (обработка: если сам ловишь, зафиксировать в руках, если ловишь не ты, отобрать мяч),и т.д.

    Составим небольшую программку, которая будет воспроизводить действия вратаря.

    procedure tмяч.on_мяч_в_руках;
    begin
         if [свои игроки близко] then мяч.кинтуть_рукой(ближайший_игрок)
         else мяч.выпнуть_ногой(середина_поля);
    end;

    procedure tмяч.on_полет_мяча;
    begin
         if мяч.полет.направление = к_вратарю then мяч.поймать;
    end;

    procedure tмяч.on_ловля_мяча;
    begin
         if мяч.цвет=белый then мяч.зафиксировать_в_руках
         else мяч.выкинуть; //не тот мяч
    end;

         Даже не пытайтесь набрать и запустить эту программку, она дана так, для примера, чтобы вы, когда видите такие сочетания, как image1.canvas.drawfocusrect или richedit1.lines.add не уставляись на монитор непонятливыми глазами, а понимали, для чего нужны эти точки, как обращаться к свойствам, методам и событиям объекта.

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

         До следующих выпусков. © Ринат Максутов


    Залуский Антон    - ведущий проекта    "Мир Delphi"

    о3он


    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Поиск

    В избранное