Компьютеры, программирование

  • 4621. Объектно-ориентированная разработка программ
    Курсовой проект пополнение в коллекции 26.01.2011

    В настоящее время можно выделить 5 основных подходов к организации процесса создания и использования ПС.

    • Водопадный подход. При таком подходе разработка ПС состоит из цепочки этапов. На каждом этапе создаются документы, используемые на последующем этапе. В исходном документе фиксируются требования к ПС. В конце этой цепочки создаются программы, включаемые в ПС.
    • Исследовательское программирование. Этот подход предполагает быструю (насколько это возможно) реализацию рабочих версий программ ПС, выполняющих лишь в первом приближении требуемые функции. После экспериментального применения реализованных программ производится их модификация с целью сделать их более полезными для пользователей. Этот процесс повторяется до тех пор, пока ПС не будет достаточно приемлемо для пользователей. Такой подход применялся на ранних этапах развития программирования, когда технологии программирования не придавали большого значения (использовалась интуитивная технология). В настоящее время этот подход применяется для разработки таких ПС, для которых пользователи не могут точно сформулировать требования (например, для разработки систем искусственного интеллекта).
    • Прототипирование. Этот подход моделирует начальную фазу исследовательского программирования вплоть до создания рабочих версий программ, предназначенных для проведения экспериментов с целью установить требования к ПС. В дальнейшем должна последовать разработка ПС по установленным требованиям в рамках какого-либо другого подхода (например, водопадного).
    • Формальные преобразования. Этот подход включает разработку формальных спецификаций ПС и превращение их в программы путем корректных преобразований. На этом подходе базируется компьютерная технология (CASE-технология) разработки ПС.
    • Сборочное программирование. Этот подход предполагает, что ПС конструируется, главным образом, из компонент, которые уже существуют. Должно быть некоторое хранилище (библиотека) таких компонент, каждая из которых может многократно использоваться в разных ПС. Такие компоненты называются повторно используемыми (reusable). Процесс разработки ПС при данном подходе состоит скорее из сборки программ из компонент, чем из их программирования .
  • 4622. Объектно-ориентированная среда программирования "Object Pascal" в профильном курсе информатики
    Методическое пособие пополнение в коллекции 14.12.2010

     

    1. Ваграменко Я.А., Зобов Б.И., Осипов А.П. "Педагогический виртуальный университет: основные задачи, принципы построения, структура информационных ресурсов. // "Педагогическая информатика", 1, 2002г.
    2. Гусева О.Л., Гусев Е.В., Миронова Н.Н. Одна задача - два решения. - М.: "Информатика и образование" - 2000.
    3. Захарова Т.Б. Профильная дифференциация обучения информатике в старшей ступени школы.-М.: МЦНТИ, 1997
    4. Информатика. Систематический курс. 10 класс / Бешенков С.А, Ракитина Е.А. .- М.: БИНОМ. Лаборатория знаний, 2004.
    5. Кузнецов А.А. Смекалкин Д. Проверка и оценка знаний и умений школьников по основам ИВТ. // Информатика и образование. 2003.
    6. Лапчик М.П. и др. Методика преподавания информатики: Учебное пособие для студентов педагогических вузов/М.П.Лапчик, И.Г.Семакин, Е.К.Хеннер; под общей редакцией М.П.Лапчика. - М.: Издательский центр "Академия", 2001.- 624 с.
    7. Макарова Н.В. Информатика (объектно-информационная концепция): Программа для учащихся с 6-го или 7-го по 11-й класс. - СПб.:Питер, 1999.
    8. Макарова Н.В. Методология обучения новым информационным технологиям. - СПб.: Изд-во СПбУЭФ, 1992.
    9. Методическое письмо "Об использовании результатов единого государственного экзамена 2007 года в преподавании информатики в средней школе"
    10. Примерная программа основного общего образования по информатике и информационным технологиям ИнФО, N4, 2004.
    11. Примерная программа среднего (полного) общего образования по информатике и информационным технологиям. Базовый уровень ИнФО, N4, 2004.
    12. Примерная программа среднего (полного) общего образования по информатике и информационным технологиям. Профильный уровень ИнФО, N4, 2004.
    13. Семакин И.Г., Хеннер Е.К. Информатика. 10 класс.-М.: БИНОМ. Лаборатория знаний, 2005.
    14. Семакин И.Г., Хеннер Е.К. Информатика. 11 класс.-М.: БИНОМ. Лаборатория знаний, 2005.
    15. Соловьева Е.Г. О межпредметных связях математики и информатики. // "Педагогическая информатика", 1, 1997 г.
    16. Стандарт основного общего образования по информатике и информационным технологиям ИнФО, N4, 2004.
    17. Стандарт среднего (полного) общего образования по информатике и информационным технологиям. Базовый уровень. ИнФО, N4, 2004.
    18. Стандарт среднего (полного) общего образования по информатике и ИКТ. Профильный уровень. ИнФО, N4, 2004.
    19. Угринович Н.Д. и др. Практикум по информатике и информационным технологиям. Учебное пособие. - М.: БИНОМ, 2003-2006.
    20. Угринович Н.Д. Информатика и ИКТ Учебник для 10 класса. Профильный уровень - М.: БИНОМ, 2007.
    21. Угринович Н.Д. Информатика и информационные технологии. 10-11. Учебник для 10-11 классов. - М.: БИНОМ, 2006.
    22. Угринович Н.Д. Компьютерный практикум на CD-ROM. - М.: БИНОМ, 2004-2005.
    23. Угринович Н.Д. Преподавание курса "Информатика и ИКТ" в основной и старшей школе: Методическое пособие для учителей. - М.: БИНОМ, 2004-2006.
    24. Унт И. Э. Индивидуализация и дифференциация обучения. - М., 1990.
    25. Федеральный базисный учебный план для образовательных учреждений Российской Федерации, реализующих программы общего образования (утвержден приказом 1312 Министерства образования РФ от 09.03.2004).
  • 4623. Объектно-ориентированная СУБД (прототип)
    Информация пополнение в коллекции 12.01.2009
  • 4624. Объектно-ориентированное программирование
    Информация пополнение в коллекции 12.01.2009

    Инкапсуляция является важнейшим свойством объектов, на котором строится объектно-ориентированное программирование. Инкапсуляция заключается в том, что объект скрывает в себе детали, которые несущественны для использования объекта. В традиционном подходе к программированию с использованием глобальных переменных программист не был застрахован от ошибок, связанных с использованием процедур, не предназначенных для обработки данных, связанных с этими переменными. Предположим, например, что имеется «не-ООП» программа, предназначенная для начисления заработной платы сотрудникам некой организации, а в программе имеются два массива. Один массив хранит величину заработной платы, а другой телефонные номера сотрудников (для составления отчёта для налоговой инспекции). Что произойдёт, если программист случайно перепутает эти массивы? Очевидно, для бухгалтерии начнутся тяжёлые времена. «Жёсткое» связание данных и процедур их обработки в одном объекте позволит избежать неприятностей такого рода. Инкапсуляция и является средством организации доступа к данным только через соответствующие методы.

  • 4625. Объектно-ориентированное программирование Автобусы и маршруты
    Реферат пополнение в коллекции 09.12.2008

    Связь между языком, на котором мы думаем/программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень близка. По этой причине ограничивать свойства языка только целями исключения ошибок программиста в лучшем случае опасно. Язык предоставляет программисту набор концептуальных инструментов; если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т.п. Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств. Система типов должна быть особенно полезна в нетривиальных задачах. Действительно, концепция классов в C++ показала себя мощным концептуальным средством.

  • 4626. Объектно-ориентированное программирование на C++ с использованием библиотеки OpenGL
    Информация пополнение в коллекции 12.01.2009
  • 4627. Объектно-ориентированное программирование на С с использованием библиотеки OpenGL
    Контрольная работа пополнение в коллекции 09.12.2008
  • 4628. Объектно-ориентированное программирование на языке С++
    Курсовой проект пополнение в коллекции 19.06.2012

    Классы могут быть связаны друг с другом различными отношениями. Одним из основных таких отношений является отношение класс - подкласс, известный в объектно-ориентированном программировании как наследование. Например, класс автомобилей Audi 6 является подклассом легковых автомобилей, который в свою очередь входит в более крупный класс автомобилей, а последний является подклассом класса транспортных средств, который помимо автомобилей включает в себя самолеты, корабли поезда и т.д. Примером подобных отношений, являются системы классификации в ботанике и зоологии. Отношением, обратным наследованию, является обобщение или генерализация. Она указывает, что некий класс, является более общим (обобщенным) классом другого класса. Класс транспортных средств, к примеру, является генерализацией классов автомобилей, самолетов и кораблей.

  • 4629. Объектно-ориентированное программирование с помощью Microsoft Visual Basic
    Курсовой проект пополнение в коллекции 18.09.2012

    =%20Bita2.Left%20+%2075%20Then%20'%20%d0%97%d0%b4%d0%b5%d1%81%d1%8c%20%d0%b0%d0%bd%d0%b0%d0%bb%d0%be%d0%b3%d0%b8%d1%87%d0%bd%d0%be,%20%d1%82%d0%be%d0%bb%d1%8c%d0%ba%d0%be%20%d0%be%d1%82%d1%81%d0%ba%d0%be%d0%ba%20%d0%be%d1%82%20%d0%bf%d1%80%d0%b0%d0%b2%d0%be%d0%b9%20%d1%87%d0%b0%d1%81%d1%82%d0%b8%20%d0%b1%d0%b8%d1%82%d1%8b_Left%20=%20False_Right%20=%20True_Up%20=%20False_Down%20=%20TrueIfBall.Left%20>%20Bita2.Left%20+%2025%20And%20Ball.Left%20<%20Bita2.Left%20+%2075%20Then%20'%20%d0%9e%d1%82%d1%81%d0%ba%d0%be%d0%ba%20%d0%be%d1%82%20%d1%86%d0%b5%d0%bd%d1%82%d1%80%d0%b0_Up%20=%20False_Down%20=%20TrueIfIfFunctionOtskok_Bita_1()%20'%20%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d1%8f%20%d0%b0%d0%bd%d0%b0%d0%bb%d0%be%d0%b3%d0%b8%d1%87%d0%bd%d0%b0%20%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%b8%20Otskok_Bita_2Ball.Top%20>=%20Bita1.Top%20-%20Bita1.Height%20-%207%20ThenBall.Left%20>=%20Bita1.Left%20-%2025%20And%20Ball.Left%20<=%20Bita1.Left%20+%2025%20Then_Left%20=%20True_Right%20=%20False_Up%20=%20True_Down%20=%20FalseIfBall.Left%20<=%20Bita1.Left%20+%20100%20And%20Ball.Left%20>=%20Bita1.Left%20+%2075%20Then_Left%20=%20False_Right%20=%20True_Up%20=%20True_Down%20=%20FalseIfBall.Left%20>%20Bita1.Left%20+%2025%20And%20Ball.Left%20<%20Bita1.Left%20+%2075%20Then_Up%20=%20True_Down%20=%20False_Left%20=%20False_Right%20=%20FalseIfIfFunctionOtskok_Granica()%20'%20%d0%9f%d1%80%d0%b8%20%d0%bf%d0%be%d0%bc%d0%be%d1%89%d0%b8%20%d1%8d%d1%82%d0%be%d0%b9%20%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%b8%20%d0%bc%d1%8f%d1%87%d0%b8%d0%ba%20%d0%be%d1%82%d1%81%d0%ba%d0%b0%d0%ba%d0%b8%d0%b2%d0%b0%d0%b5%d1%82%20%d0%be%d1%82%20%d1%81%d1%82%d0%b5%d0%bd%d0%be%d0%baBall.Left%20<=%200%20Then%20'%20%d0%95%d1%81%d0%bb%d0%b8%20%d0%bc%d1%8f%d1%87%d0%b8%d0%ba%20%d1%81%d1%82%d0%be%d0%bb%d0%ba%d0%bd%d1%83%d0%bb%d1%81%d1%8f%20%d1%81%20%d0%bb%d0%b5%d0%b2%d0%be%d0%b9%20%d1%81%d1%82%d0%b5%d0%bd%d0%ba%d0%be%d0%b9,%20%d1%82%d0%be%20%d0%bc%d0%b5%d0%bd%d1%8f%d0%b5%d0%bc%20%d0%b5%d0%b3%d0%be%20%d0%bd%d0%b0%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5_Left%20=%20False_Right%20=%20TrueIfBall.Left%20>=%20Me.Width%20Then%20'%20%d0%95%d1%81%d0%bb%d0%b8%20%d0%bc%d1%8f%d1%87%d0%b8%d0%ba%20%d1%81%d1%82%d0%be%d0%bb%d0%ba%d0%bd%d1%83%d0%bb%d1%81%d1%8f%20%d1%81%20%d0%bf%d1%80%d0%b0%d0%b2%d0%be%d0%b9%20%d1%81%d1%82%d0%b5%d0%bd%d0%ba%d0%be%d0%b9,%20%d1%82%d0%be%20%d0%bc%d0%b5%d0%bd%d1%8f%d0%b5%d0%bc%20%d0%b5%d0%b3%d0%be%20%d0%bd%d0%b0%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5_Left%20=%20True_Right%20=%20FalseIfBall.Top%20<=%20Bita2.Top%20Or%20Ball.Top%20>=%20Bita1.Top%20Then%20'%20%d0%95%d1%81%d0%bb%d0%b8%20%d0%bc%d1%8f%d1%87%d0%b8%d0%ba%20%d1%83%d0%bb%d0%b5%d1%82%d0%b0%d0%b5%d1%82%20%d0%b7%d0%b0%20%d0%b1%d0%b8%d1%82%d1%83,%20%d1%82%d0%be%20%d1%81%d1%82%d0%b0%d0%b2%d0%b8%d0%bc%20%d0%b5%d0%b3%d0%be%20%d0%b2%20%d1%86%d0%b5%d0%bd%d1%82%d1%80.Left%20=%20176.Top%20=%20172_Left%20=%20False_Right%20=%20FalseIfFunctionSub%20Form1_KeyUp(ByVal%20sender%20As%20Object,%20ByVal%20e%20As%20System.Windows.Forms.KeyEventArgs)%20Handles%20MyBase.KeyUp%20'%20%d0%95%d1%81%d0%bb%d0%b8%20%d0%ba%d0%b0%d0%ba%d0%b0%d1%8f%20-%20%d0%bd%d0%b8%d0%b1%d1%83%d0%b4%d1%8c%20%d0%ba%d0%bb%d0%b0%d0%b2%d0%b8%d1%88%d0%b0%20%d0%be%d1%82%d0%b6%d0%b0%d1%82%d0%b0:e.KeyCode%20=%20Keys.Left%20Then%20Left_Bita_2%20=%20False%20'%20%d0%95%d1%81%d0%bb%d0%b8%20%d0%be%d1%82%d0%b6%d0%b0%d1%82%d0%b0%20%d0%ba%d0%bb%d0%b0%d0%b2%d0%b8%d1%88%d0%b0%20Left,%20%d1%82%d0%be%20%d0%b5%d1%81%d0%bb%d0%b8%20Bita%202%20%d0%b4%d0%b2%d0%b8%d0%b3%d0%b0%d0%bb%d0%b0%d1%81%d1%8c%20%d0%b2%d0%bb%d0%b5%d0%b2%d0%be,%20%d1%82%d0%be%20%d0%be%d0%bd%d0%b0%20%d0%be%d1%81%d1%82%d0%b0%d0%bd%d0%b0%d0%b2%d0%bb%d0%b8%d0%b2%d0%b0%d0%b5%d1%82%d1%81%d1%8fe.KeyCode%20=%20Keys.Right%20Then%20Right_Bita_2%20=%20False%20'%20%d0%97%d0%b4%d0%b5%d1%81%d1%8c%20%d0%b2%d1%81%d0%b5%20%d0%b0%d0%bd%d0%b0%d0%bb%d0%be%d0%b3%d0%b8%d1%87%d0%bd%d0%bee.KeyCode%20=%20Keys.A%20Then%20Left_Bita_1%20=%20Falsee.KeyCode%20=%20Keys.D%20Then%20Right_Bita_1%20=%20FalseSubSub%20Form1_Closed(ByVal%20sender%20As%20Object,%20ByVal%20e%20As%20System.EventArgs)%20Handles%20MyBase.Closed%20'%20%d0%9f%d1%80%d0%b8%20%d0%b2%d1%8b%d1%85%d0%be%d0%b4%d0%b5%20%d0%b8%d0%b7%20%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d1%8b(%d1%82.%d0%b5.%20%d0%bf%d1%80%d0%b8%20%d0%bd%d0%b0%d0%b6%d0%b0%d1%82%d0%b8%d0%b8%20%d0%bd%d0%b0%20%d0%ba%d1%80%d0%b5%d1%81%d1%82%d0%b8%d0%ba%20%d0%b2%20%d0%b7%d0%b0%d0%b3%d0%be%d0%bb%d0%be%d0%b2%d0%be%d0%ba%d0%b5%20%d1%84%d0%be%d1%80%d0%bc%d1%8b)'%20%d0%92%d1%8b%d1%85%d0%be%d0%b4%d0%b8%d0%bc%20%d0%b8%d0%b7%20%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d1%8b(%d0%b5%d1%81%d0%bb%d0%b8%20%d0%b7%d0%b0%d0%bf%d1%83%d1%89%d0%b5%d0%bd%20%d0%b2%d0%b5%d1%87%d0%bd%d1%8b%d0%b9(%d0%b8%d0%bb%d0%b8%20%d0%b4%d0%be%d0%bb%d0%b3%d0%b8%d0%b9)%20%d1%86%d0%b8%d0%ba%d0%bb,%20%d1%82%d0%be%20%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b0%20%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d1%81%d1%82%d1%8c%d1%8e%20%d0%bd%d0%b5%20%d0%b7%d0%b0%d0%ba%d1%80%d1%8b%d0%b2%d0%b0%d0%b5%d1%82%d1%81%d1%8f)SubClass">' Направляем мяч вниз_Up = False_Down = TrueIfBall.Left <= Bita2.Left + 100 And Ball.Left >= Bita2.Left + 75 Then ' Здесь аналогично, только отскок от правой части биты_Left = False_Right = True_Up = False_Down = TrueIfBall.Left > Bita2.Left + 25 And Ball.Left < Bita2.Left + 75 Then ' Отскок от центра_Up = False_Down = TrueIfIfFunctionOtskok_Bita_1() ' функция аналогична функции Otskok_Bita_2Ball.Top >= Bita1.Top - Bita1.Height - 7 ThenBall.Left >= Bita1.Left - 25 And Ball.Left <= Bita1.Left + 25 Then_Left = True_Right = False_Up = True_Down = FalseIfBall.Left <= Bita1.Left + 100 And Ball.Left >= Bita1.Left + 75 Then_Left = False_Right = True_Up = True_Down = FalseIfBall.Left > Bita1.Left + 25 And Ball.Left < Bita1.Left + 75 Then_Up = True_Down = False_Left = False_Right = FalseIfIfFunctionOtskok_Granica() ' При помощи этой функции мячик отскакивает от стенокBall.Left <= 0 Then ' Если мячик столкнулся с левой стенкой, то меняем его направление_Left = False_Right = TrueIfBall.Left >= Me.Width Then ' Если мячик столкнулся с правой стенкой, то меняем его направление_Left = True_Right = FalseIfBall.Top <= Bita2.Top Or Ball.Top >= Bita1.Top Then ' Если мячик улетает за биту, то ставим его в центр.Left = 176.Top = 172_Left = False_Right = FalseIfFunctionSub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp ' Если какая - нибудь клавиша отжата:e.KeyCode = Keys.Left Then Left_Bita_2 = False ' Если отжата клавиша Left, то если Bita 2 двигалась влево, то она останавливаетсяe.KeyCode = Keys.Right Then Right_Bita_2 = False ' Здесь все аналогичноe.KeyCode = Keys.A Then Left_Bita_1 = Falsee.KeyCode = Keys.D Then Right_Bita_1 = FalseSubSub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed ' При выходе из программы(т.е. при нажатии на крестик в заголовоке формы)' Выходим из программы(если запущен вечный(или долгий) цикл, то программа полностью не закрывается)SubClass

  • 4630. Объектно-ориентированные CASE-средства
    Информация пополнение в коллекции 29.05.2012

    Существуют расширения Rational Rose, которые позволяют выполнять скелетную (round-trip) разработку ИС, создаваемых на базе языков C/C++, Java, Smalltalk, Ada, Object Pascal (Borland Delphi) и др. Таким образом, можно сгенерировать каркас программного кода на любом из указанных языков или выполнить процедуру обратного проектирования, что позволяет сформировать модель на базе существующего кода.Rose предоставляет огромные возможности для проектирования ИС с использованием лучших архитектурных принципов. С помощью инструмента можно визуализировать, анализировать и уточнять требования к создаваемому продукту. Способности описывать графический интерфейс отдельно от бизнес-логики приводят в конечном итоге к лучшим результатам на уровне всего проекта. Всегда лучше и эффективнее лишний раз проанализировать, что должно быть сделано, чем каждый раз заниматься трудоемкими переделками и подгонкой кода. Использование единого инструмента моделирования на протяжении всего жизненного цикла разработки помогает создавать "идеальную" систему.Rose предлагает плавный процесс разработки ИС. Любые модели, создаваемые с помощью данного средства, являются взаимосвязанными: бизнес-модель, функциональная модель, модель анализа, модель проектирования, модель базы данных, модель компонентов и модель физического развертывания системы.

  • 4631. Объектно-ориентированные базы данных, работающие в распределенных сетях
    Реферат пополнение в коллекции 09.12.2008

    И, наконец, ООСУБД подходят (опять же без трансляций между объектной и реляционной моделями) для организации распределенных вычислений. Традиционные базы данных (в том числе и реляционные и некоторые объектные) построены вокруг центрального сервера, выполняющего все операции над базой. По существу, эта модель мало отличается от мэйнфреймовой организации 60х годов с центральной ЭВМ мэйнфреймом (mainframe), выполняющей все вычисления, и пассивных терминалов. Такая архитектура имеет ряд недостатков, главным из которых является вопрос масштабируемости. В настоящее время рабочие станции (клиенты) имеют вычислительную мощность порядка 30 50 % мощности сервера базы данных, то есть большая часть вычислительных ресурсов распределена среди клиентов. Поэтому все больше приложений, и в первую очередь базы данных и средства принятия решений, работают в распределенных средах, в которых объекты (объектные программные компоненты) распределены по многим рабочим станциям и серверам и где любой пользователь может получить доступ к любому объекту. Благодаря стандартам межкомпонентного взаимодействия все эти фрагменты кода комбинируются друг с другом независимо от аппаратного, программного обеспечения, операционных систем, сетей, компиляторов, языков программирования, различных средств организации запросов и формирования отчетов и динамически изменяются при манипулировании объектами без потери работоспособности[3].

  • 4632. Объектно-ориентированные СУБД
    Методическое пособие пополнение в коллекции 09.12.2008

  • 4633. Объектно-ориентированные языки програмирования
    Информация пополнение в коллекции 12.01.2009

    В 1986 г. группы с фирм Xerox PARC и Symbolics, а также группа с фирмы Lucid, начала работу над проектом спецификации для CLOS, представленный на рассмотрение технической рабочей группе Ansi, X3J13. Эта спецификация одобрена для вероятного принятия в качестве части развивающегося стандарта Common Lisp. Цели CLOS: использование набора уровней для независимых друг от друга действий языка программирования; сделать как можно больше в рамках первого класса Object System (объект первый класс - это объект, который можно явно создать и работать с ним); желание избавиться от сложного поведения для упрощения понятий и их объяснений; сделать спецификацию языка как можно более точной [DeMichiel and Gabriel 1987]. Основные средства CLOS:три слоя языка: интерфейс для объектно-ориентированного программирования, функциональный интерфейс для Object System, и инструменты, позволяющие программисту создавать свои собственные объектно-ориентированные языки;использование обобщенных функций вместо посылки сообщений; при таком подходе объекты и функции являются анонимными объектами: ни один из них не является собственностью другого;поддержка множественного наследования: список старшинства классов используется для решения потенциальных конфликтов между наследуемой структурой и поведением; средство комбинации методов для получения значений обобщенной функции - задание способа комбинации методов, применимых к набору аргументов (в результате множественного наследования);гарантия, что обобщенные функции и классы являются объектами первого класса (т.е. они могут храниться в любом месте, где разрешено хранение обобщенных объектов).

  • 4634. Объектно-ориентированный анализ и проектирование деятельности ООО "Формула торговли"
    Курсовой проект пополнение в коллекции 26.02.2011

    Концептуальное конструирование системы преследует цель формирования минимальной совокупности диаграмм необходимых и достаточных для определения базового инварианта архитектуры, позволяющего исследовать систему на предмет реализуемости в рамках статической структуры, целедостижимости в процессе наблюдаемого поведения и управляемых переходов в пространстве состояний системы. Исходными для интеграции являются полученные на первых двух этапах диаграммы, каждая из которых отражает функциональную, статическую или поведенческую абстракцию системы. Однако принципиальным отличием данного этапа анализа является интегративный характер итеративного процесса, что собственно и позволяет классифицировать его как конструирование. Каждая из заключительных диаграмм представляет собой результат интеграции исходных диаграмм и является соответствующим (функциональным, статическим или поведенческим) инвариантом, образованным соединением целевой и системной (реализационной) диаграмм. При этом, цель выступает как сущность, определяющая направленность процессов самоорганизации (интеграции) на формирование и поддержание внешне- и внутрисистемных инвариантов (соответственно, функционального, статического или поведенческого). Эффективность функционирования механизма концептуального конструирования связана с методологией организации процедур интеграции диаграмм и итераций в процессе проведения анализа.

  • 4635. Объектно-ориентированный подход к программированию
    Информация пополнение в коллекции 12.01.2009

    Имена классов принято начинать с буквы T, но это просто соглашение, а не правило. Вы можете назвать Ваш объект как хотите. Однако, буква Т в начале имени класса - это правило хорошего тона. Далее, указывается, что этот класс является потомком от Tobject. Если Вы запишите TmyClass = class, то все равно ваш класс будет потомком от Tobject. Далее, идет закрытая часть интерфейса класса. Здесь объявляются свойства и методы класса, которые будут доступными только из методов этого же класса, и будут недоступными для других классовых методов и из других модулей программы. При наследовании класса, потомок тоже не будет иметь доступа к закрытой части интерфейса. Иногда, такое поведение класса неудобно. Например, при большом количестве обращений к списку данных одного класса из другого через открытую часть интерфейса, при каждом обращении, возможно, будут проверяться допустимые границы индекса списка. Это правильно, но может значительно замедлить работу программы, поэтому было бы неплохо иметь возможность для ограниченного числа классов или функций разрешить доступ к закрытой части, чтобы они могли обращаться к свойствам класса, объявленным в закрытой части. Возможно, Вы писали на С++ и знаете, что там такие классы и функции называются друзьями. В Delphi эта возможность реализуется через объявление дружественных классов и функций в одном модуле программы, т.е. все друзья должны быть объявлены в одном модуле. Далее, идет защищенная часть. Она отличается от закрытой тем, что из потомка класса, Вы можете иметь доступ к этой части. Далее, идет открытая часть интерфейса. Здесь Вы можете объявить свойства и методы класса, которые будут доступны для других классов, процедур и функций. Есть еще одна часть интерфейса - published (опубликованная). Эта часть имеет место у потомков от Tcomponent. Delphi использует эту часть интерфейса в инспекторе объектов. При доступе к классу во время выполнения программы, эта часть ничем не отличается от public. Здесь имеет смысл объявлять свойства и события класса. Все свойства и события будут доступны из инспектора объектов, и Вы сможете редактировать их во время разработки. Чтобы работать с классом, Вы должны объявить переменную объектного типа этого класса, затем инициализировать ее вызовом конструктора.

  • 4636. Объектно-ориентированный подход к проектированию программного обеспечения на примере работы налогово...
    Реферат пополнение в коллекции 09.12.2008

    Принципиальное различие между структурным и объектно-ориентированным подходом заключается в способе декомпозиции системы. Объектно-ориентированный подход использует объектную декомпозицию, при этом статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира. Понятие "объект" впервые было использовано около 30 лет назад в технических средствах при попытках отойти от традиционной архитектуры фон Неймана и преодолеть барьер между высоким уровнем программных абстракций и низким уровнем абстрагирования на уровне компьютеров. С объектно-ориентированной архитектурой также тесно связаны объектно-ориентированные операционные системы. Однако наиболее значительный вклад в объектный подход был внесен объектными и объектно-ориентированными языками программирования: Simula, Smalltalk, C++, Object Pascal. На объектный подход оказали влияние также развивавшиеся достаточно независимо методы моделирования баз данных, в особенности подход "сущность-связь".

  • 4637. Объектно-ориентированный подход к проектированию программного обеспечения на примере работы налоговой инспекции
    Информация пополнение в коллекции 12.01.2009

    Принципиальное различие между структурным и объектно-ориентированным подходом заключается в способе декомпозиции системы. Объектно-ориентированный подход использует объектную декомпозицию, при этом статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира. Понятие "объект" впервые было использовано около 30 лет назад в технических средствах при попытках отойти от традиционной архитектуры фон Неймана и преодолеть барьер между высоким уровнем программных абстракций и низким уровнем абстрагирования на уровне компьютеров. С объектно-ориентированной архитектурой также тесно связаны объектно-ориентированные операционные системы. Однако наиболее значительный вклад в объектный подход был внесен объектными и объектно-ориентированными языками программирования: Simula, Smalltalk, C++, Object Pascal. На объектный подход оказали влияние также развивавшиеся достаточно независимо методы моделирования баз данных, в особенности подход "сущность-связь".

  • 4638. Объектно-ориентированный подход при создании игровых программных приложений
    Дипломная работа пополнение в коллекции 25.12.2011

    Далее, уже по готовому сюжету дописывается концепт. На этом этапе появляется более-менее законченный вид игры, т.е. имея сюжет о какой ни будь войне (битве, сражении), дизайнер подбирает информацию об этом эпизоде истории (если это, конечно, исторический момент), выбирает оружие которое использовалось в то время, находит топографические карты местности, униформу сторон, виды техники, соотношение сил и т.д. Потом, когда с энциклопедичной рутиной покончено берется за дело творческая мысль. Придумываются неожиданные ходы, фичи (features), геймплей. Вообще, фичи - это основной предмет душевных терзаний дизайнера, потому если с геймплеем практически все ясно, придумать что-то новое уже сложно, то с фичами все по другому обстоит. Каждую такую фичу необходимо просчитывать, как правило это баланс с другими фичами, и риски, которые она может привести в коммерческую часть вопроса, потому что бывает из-за одного минуса игра полностью проваливается. На протяжении всей разработки концепта, дизайнер должен стараться делать все модульно, что бы была возможность изменить\убрать\добавить какие либо части в любой момент.

  • 4639. Объектно-ориентированое програмирование на С++
    Статья пополнение в коллекции 14.12.2007

    Порядок выполнения работы

    1. Разработать описание класса, выделить публичные и приватные поля данных. Разработать интерфейс класса прототипы методов.
    2. Написать функцию для создания списка. Функция может создавать пустой список, а затем добавлять в него элементы.
    3. Написать функцию для печати списка. Функция должна предусматривать вывод сообщения, если список пустой.
    4. Написать функции для удаления и добавления элементов списка в соответствии со своим вариантом.
    5. Выполнить изменения в списке и печать списка после каждого изменения.
    6. Написать функцию для записи списка в файл.
    7. Написать функцию для уничтожения списка.
    8. Записать список в файл, уничтожить его и выполнить печать (при печати должно быть выдано сообщение "Список пустой").
    9. Написать функцию для восстановления списка из файла.
    10. Восстановить список и распечатать его.
    11. Уничтожить список.
  • 4640. Объектный подход реализации программных систем
    Курсовой проект пополнение в коллекции 10.05.2012

    : begin x: =150; y: =150; end;;. Rectangle (x,y,x+51,y+51);. Brush. Color: =clWhite;;: =3;q: =0 to w doi: =0 to w do. MoveTo (i*50,q*50);. LineTo ( (i) *50, (w-q+1) *50);. MoveTo (i*50,q*50);. LineTo ( (w-i+1) *50, (q) *50);;: =1;q: =1 to 4 doi: =1 to 4 do(pjat [w] <>0) then(keyb='yes') and (keybpos=w) then. Brush. Color: =clGradientInactiveCaption;. TextOut (i*50-30,q*50-30,mass58 [Pjat [w]]);. Brush. Color: =clWhite;else. TextOut (i*50-30,q*50-30,mass58 [Pjat [w]]);: =w+1;;;CheckPole (): string;i: integer;: ='yes';i: =1 to 15 do if (pjat [i] <>i) then result: ='no';(pjat [16] <>0) then result: ='no';;TMain1. FormCreate (Sender: TObject);();(image1. Canvas);. left: = (screen. Width-main1. Width) div 2;. top: = (screen. Height-main1. Height) div 2;: ='no';: =1;;TMain1. ResetClick (Sender: TObject);();(image1. Canvas);;go (i,cell: integer);[i]: =pjat [cell];[cell]: =0;: =steps+1;(main1. image1. Canvas);. label2. Caption: =inttostr (steps);CheckPole='yes' then showmessage (pre. wintext);;direction (dire: string);cell: integer;dire='sdown' then if (keybpos<=12) then keybpos: =keybpos+4;dire='sleft' then if (keybpos<>1) and (keybpos<>5) and (keybpos<>9) and (keybpos<>13) then keybpos: =keybpos-1;dire='sup' then if (keybpos>=5) then keybpos: =keybpos-4;dire='sright'then if (keybpos<>4) and (keybpos<>8) and (keybpos<>12) and (keybpos<>16) then keybpos: =keybpos+1;dire='space' then begin: =keybpos;(pjat [cell-1] =0) and (cell>=2) and (cell<=17) then(cell-1,cell);(pjat [cell+1] =0) and (cell>=0) and (cell<=15) then(cell+1,cell);(pjat [cell-4] =0) and (cell>=5) and (cell<=20) then(cell-4,cell);(pjat [cell+4] =0) and (cell>=-3) and (cell<=12) then(cell+4,cell);;(main1. image1. Canvas);;TMain1. Image1Click (Sender: TObject);,y,cell: integer;keyb='no' then: =mouse. CursorPos. x-image1. left-main1. Left-4;