КАТЕГОРИЯ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) Полиграфия- (1312) Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Въведение. Обектно-ориентираното програмиране е техника за програмиране. (4:00).




В обектно-ориентираното програмиране

ЛЕКЦИИ

Парадигмата на програмиране. Модулна програмиране. Надолу програмиране. Структуриран програмиране. Понятията за обект, клас на обекти. Основни понятия на обектно-ориентираното програмиране: капсулиране, наследяване и полиморфизъм.

Въведение. В проучването на обектно-ориентираното програмиране (ООП), най-големият проблем е използването на нова терминология и разбиране на новия подход за решаване на стари проблеми - нова технология за програмиране. Определения на нови термини и функции за програмиране методи съставляват съдържанието на темата.

Както във всеки вид програмиране дейност има своя собствена технология - това знание, правила, умения и инструменти, за да получат гарантиран резултат за качество. Но само по себе си за спазването на правилата не е гаранция за качеството на резултата. Това се обяснява с конкретната програма. Първо, тя не е наука, в която знанието на всяка формула може еднозначно да реши проблема чрез заместване в него изходните данни и да получите резултати. Второ, тези правила трябва да се спазват не само на хартия, но в главата. Това означава, че програмирането технология - това е по-скоро начин за организиране на процеса на мислене за програмата, а не му рекорд. От това следва, че ако програмата писане - той мисли вече се придържа към някои техники за програмиране, без дори да го осъзнават. Най-простият начин е да се пишат програми директно от начало до край, без да се използва някоя от общите принципи, а именно, "както духа лежеше."

Да разгледаме най-известните на технологията:

· Метод "северозапад" ъгъл (позовавайки се на лист хартия или на екран на дисплея). Програмата е писано веднъж от началото до края, без използването на всяка от общите принципи;

· Структуриран програмиране технология, като се очаква да се придържат към принципите на модулност, отгоре-надолу и стъпка при изготвянето на програмите, едновременни инженерни програми и структури от данни.

· Object технология програмиране: свързани с проектирането на понятията програмата на обекти и класове.

Парадигмата на програмиране. Проблемът на "Какво се случи първо - кокошката или яйцето?" във връзка с парадигмата на програмиране звучи като: "Какво се случи първо. алгоритъма (процедура, функция) или данни, обработвани от тях" В традиционната процедура отношения програмиране технология - данните са повече или по-малко свободно в природата, и процедури (функции) са водещи в този пакет: като правило, функцията нарича функция, предаване на данните на всеки - друг от една верига. Съответно, структурен дизайн софтуер технология, основно се фокусира върху развитието на алгоритъма.



В обектно-ориентиран технология на връзките за данни и алгоритъма имат редовен характер: първа класа (основната концепция на тази технология) комбинира данни (структурирана променливи) и методи (функции). На второ място, функции за взаимодействие и схема данни е коренно различна. Методът (функция), причинена от един обект обикновено не е пряко изисква друга функция. На първо място, той трябва да има достъп до друг обект (създаване, извличане на показалеца, използвайте вътрешния обект в тока, и т.н.), тогава той може да се наложи да се обадя един от известните методи за това. Така структура програма се определя от взаимодействието между различни класове на самите обекти. Като правило, съществува йерархия на класове и OOP технология в противен случай може да се нарича както програмиране "от клас в клас."

Модулна програмиране. принцип модулност е формулирано като искане за развитието на програмата като набор от модули (функции). Това разделяне на модулите трябва да е на не механично в природата, и да се придвижат от логиката на програмата:

· Размер на модула трябва да бъде ограничено;

· Модул трябва да изпълнява логически пълна и завършена действие;

· Модул трябва да е универсален, че е параметризираните характеристики: всички променливи характеристики на действието, провеждан с цел да се предават чрез опциите;

· Параметри на входа и в резултат на модула, че е желателно да не се мине през глобалните променливи, и чрез формални параметри и функция резултат.

Друг, но физическото единство на програмата е текстов файл, който съдържа редица функции и дефиниции на типове данни и променливи. Модулна програмиране на ниво файл - това е една възможност за споделяне на пълния текст на програмата в няколко файла, да ги преведат независимо.

принцип модулност важи не само за програмата, но и на данните: всяка съвкупност от параметри, които характеризират физически или логически обект следва да бъдат представени в софтуера като единна структура от данни (структурирана променлива).

Олицетворение на принципа на модулността е библиотека от стандартни функции. Тя обикновено се предоставя пълен набор от параметризирани действия с помощта на обща структура на данните. Библиотеките са подобни програми C, независимо от преведени и се поставят в каталога на библиотеката.

Надолу програмиране. Първа дизайн на програмата се състои в това, че развитието е от общото неофициално формулирането на програма за действие на естествен език, "от общото към специфичното": да го замени с една от трите официални структури на езика за програмиране:

· Една проста последователност от действия;

· Проектиране избор или на оператора, ако;

· Структура на повторение или цикъл.

Записано алгоритъм, това съответства на движението от дизайна на външния (на околната среда) към вътрешната (вградени). Тези структури могат да съдържат и в техните части на неформалната описание на действието, тя е отгоре-надолу дизайн в природата е една стъпка по стъпка. Това са основните характеристики на този подход:

· Първоначално програмата е формулиран под формата на официално действие на естествен език;

· Първоначално дефинирани входни параметри и резултат на действието;

· Следващата стъпка тренировка не се променя структурата на програмата, получена в предишните стъпки;

· Ако в процеса на проектиране се получават идентични стъпки в различни отрасли, това означава, че необходимостта от отделен дизайн на тази функция за действие;

· Необходимите структури от данни са предназначени едновременно с подробна програма.

В резултат, дизайнът оказва програма, в която по същество не Иди преход оператор, така че тази технология се нарича "програмиране без Иди".

Стъпка по стъпка програмиране. Първа дизайн в природата е една стъпка по стъпка, защото всеки път, включва подмяна на една словесна формулировка на един език дизайн. Но в процеса на разработване на програмата могат да бъдат други стъпки, свързани с най-подробно вербална език в повече подробности.

Фактът, че този принцип може да се посочи поотделно, говори за необходимостта да се избегне изкушението да веднага тренировка програма от началото до края и да развият способността да се изолират и да се съсредоточи върху основните, не второстепенни детайли на алгоритъма.

Като цяло, дизайнът отгоре-надолу на програмата не гарантира получаването на "правилната" програма, но тя позволява да се върне, когато установи застой до един от най-добрите стъпки на детайл.

Структуриран програмиране. В програмите за отгоре-надолу, необходими за функциониране на структурите от данни и променливи се появи като прехода от неформална към определенията на езикови конструкции, което означава, че алгоритъмът обработва детайли и данни да са разположени успоредно. Въпреки това, тя се отнася най-вече, някои локални променливи и вътрешни параметри. На същата обща гледна точка на обекта (в нашия случай - на данните) е винаги първична по отношение на действията, извършвани на нея (в нашия случай - алгоритъма). Така че всъщност е начин за организиране на данните в програмата по-значително влияние върху структурата на своя алгоритъм, отколкото нещо друго, и на процеса на проектиране на структурите от данни трябва да остане пред процеса на проектиране на обработката им алгоритъм.

Структуриран програмиране - отгоре-надолу модулен дизайн на алгоритми и структури от данни.

Object-ориентиран подход за програмиране включва три основни компонента:

· Object-Oriented анализ (OOA)

· Object-Oriented Design (ООД)

· Обектно-ориентираното програмиране (ООП).

Във всеки инженерна дисциплина за проектирането той обикновено се разбира, единен подход, с който ние търсим решения на конкретни проблеми, като се гарантира изпълнението на задачата. В контекста на инженерното проектиране цел на проекта е определена като една система, която

  • Тя отговаря на дадени (може би неформални) функционални спецификации;
  • в съответствие с ограниченията, наложени от оборудването;
  • Тя отговаря на явните и скрити изисквания по отношение на резултатите и ресурсите на потреблението;
  • Тя отговаря на явни и неявни критериите за дизайна на продукта;
  • Тя отговаря на изискванията към процеса на развитие, като например продължителността и разходите, както и привличане на допълнителни средства.

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

Програмата - числен модел на проектираната система.

Значението на сградата на модела. Моделиране е широко разпространена във всички инженерни дисциплини, до голяма степен се дължи на факта, че принципите на разлагане, абстракция, и йерархия. Всеки модел описва определена част от системата, и на свой ред ние изграждаме нови модели на базата на старото, което е повече или по-малко сигурни. Модели ни позволяват да контролираме нашите неуспехи. Ние оценяваме всеки модел при нормални и аварийни ситуации и след това да ги променя, ако имате нещо не отговаря.

Елементи на Software Design. Ясно е, че няма такъв универсален метод, който ще доведе на софтуерен инженер по пътя от изискванията за комплексна софтуерна система за да ги приложи. Проектиране на сложни софтуерни системи не се намалява, за да заслепи придържане към определен набор от рецепти. По-скоро това е постепенен и повтарящ се процес. Въпреки това, използването на методология дизайн носи на процеса на развитие на дадена организация. Инженери, програмисти са разработили десетки различни методи, които можем да класифицират в три категории. Въпреки различията, тези методи имат нещо общо. Те, по-специално, включва следното:

  • символи - език за описание на всеки модел;
  • процес - правила на дизайна на модела;
  • инструменти - инструменти, които ускоряват процеса на създаване на модели, в които законите на функциониране на модели, вече приложени. Инструменти помогне за идентифициране на грешки в процеса на развитие.

Добър дизайн метод се основава на солидна теоретична основа и в същото време дава на програмиста определена степен на свобода на изразяване.

Object-ориентиран модел. Има ли най-добрият метод за проектиране? Този въпрос не е еднозначен отговор. В действителност то е покрито предишния въпрос: "Има ли по-добър начин да се разложи на сложна система?" Ако има, то той е неизвестен до момента. Този въпрос може да се постави, както следва: "Какво е най-добрият начин да се разделят една сложна система на подсистеми" Още веднъж, не забравяйте, че най-полезното нещо, за да се създадат такива модели, които фокусират вниманието си върху предметите, открити в много домейна, и образуват това, което се нарича обектно-ориентиран разлагане.

Object-Oriented анализ и дизайн - е метод, който води до обектно-ориентиран разлагането. Използването на обектно-ориентиран дизайн, за да се създаде гъвкава програма, написана от икономически средства. С разумен разделение на пространството на състоянието ние постигне по-голяма увереност в правилността на нашата програма. В резултат на това намаляване на риска от развитие на сложни софтуерни системи.

След изграждането на модели е изключително важно при проектирането на сложни системи, обектно ориентиран дизайн предлага голямо разнообразие от модели, които са представени на фиг. 1. обектно-ориентиран дизайн модели и отразяват йерархията на класовете и обектите в системата. Тези модели покриват цялата гама от най-важните решения за проектиране, които трябва да бъдат взети предвид при разработването на една сложна система, и по този начин да ни вдъхновяват да създаде проекти, които имат всички пет атрибути на добре организирана сложни системи.


Фиг. 1. Обект-ориентиран модел.

данни