Charakteristický je objektově orientovaný programovaný pokles. Objektově orientované programování (OOP). Princip relaxace OOP a podtřídy

Ahoj všichni.

Týden článků na webu věnovaném OVP. Zbytek příběhu ve mně vyvolal spoustu emocí a bohužel ještě více prohnilých emocí. Už jsem nebyl hoden postavení. Proč? Protože přenáší nejrůznější negativní emoce a přispívá k rozvoji ORP. Emoce jsou ochuzeny o to, že lidé plně nechápou plnou moc ORP a chtějí všechny převzít z toho, že ORP je zlo. Nejhorší je, že lidé začínají poslouchat a vyhazovat chamtivé důkazy, že si nemyslí, že se děje něco užitečného. Myslím, že taková statistika je pro studenty kontraindikována více, než co bych uvedl dříve. :)

Uvidíme.

Co je ORP? Programování a design OOP - this and GO. Jedno bez druhého, maličkost víc než cokoli jiného. Vytvořil ORP pro návrh/programování softwarových produktů. Toto není pro modelování procesů. Ne pro návrh protokolů, ale pro softwarové produkty a jejich implementaci. Pro zjednodušení systému, jak implementovat protokol a obchodní proces právě teď.

Pokud začnete vikorizovat OOP, první věc, kterou musíte udělat, je začít vikoristovat předmět myšlení. Když už jsme řekli, že největším problémem je OVP, o to těžší je naučit se objektivně myslet. A je velmi důležité si předtím přečíst proces yakomaga (GoF s analogiemi s typem místa, konstruktérem, fasádou také pomůže). S objektovým designem Vikorist můžete snadno navrhovat skládací systémy. S objektem myšlení Vikorist snadno navrhnete jakýkoli design (je důležité, aby design/programování bylo stejné, protože v principu je možné navrhnout absolutně -yaku) pracovat s předměty a interagovat mezi nimi. Tobto. OOP bez objektivní myšlenky vám nedovolí začít využívat plnou sílu OOP.

Pojďme dále. Proto je pro nás důležité objektivně myslet, abychom znali abstrakce objektů, které potřebujeme k dosažení našich cílů. Jakmile byly analogie a abstrakce odstraněny, máme nyní jasnější obraz, který nám umožňuje rychle pochopit, co je v systému. A zde začínáme přemýšlet o dědičnosti a polymorfismu. Tyto dva nástroje jsou nezbytné pro ruční škálování systému bez duplikování kódu. Ale síla těchto mechanismů spočívá v rozsahu, v jakém jste získali abstrakce a analogie. Pokud vám vaše objektová mentalita neumožňuje formulovat ruční rozklad objektů, pak vám rozklad a polymorfismus nepomůže. Tobto. Rozpad a polymorfismus nejsou nic jiného než nástroje, které řeší problém škálování systému.

Jak tyto nástroje fungují? Je to jednodušší než dušená tuřín, protože vše je založeno na řečech, které jsou nám známé. Mám rád jednoduché příklady ze života:

1. Spadkuvannya. Jsem pekař. Jak elektrické, tak plynové. Vaším úkolem je modelovat proces přípravy sýra jako pekař v peci na kůži. Nejdůležitější je, že budeme mít hodně duplicitní kód tím, že proces přenosu do pece a samotný provoz pecí jsou u obou pecí shodné. Pokud zapneme předmět myšlenky a vzpomeneme si na redukční nástroj, odstraníme jej přibližně na začátku (schéma je příliš malá, omlouváme se):
Є pіch (abstraktní pіch). Existuje chování - zapnout, zapnout, zvýšit a změnit teplotu, umístit co, co a co - teplota v troubě, zapnout a vypnout. Jde o důležitou aplikaci abstraktního objektu v určitém ohledu na principy zapouzdření (při jejich realizaci se jich musím držet). Jsem pekař, specifický pekař Ivan. Vin ví, jak pracovat s abstraktním jazykem. Tobto. Zkontrolujte teplotu, zapněte topení atd. přišel jsi k rozumu. Síla jistoty spočívá v tom, že nebudeme mít možnost přepsat našeho Ivana na pece kožní, ať už elektrické nebo plynové. Myslím, že je všem jasné proč? Ukazuje se, že nástroj ostosovaniye je správný.
2. Polymorfismus. Dokonce i trouby fungují různými způsoby. Plyn spaluje plyn, elektřina elektřinu. Vikorist a polymorfismus, snadno změníme chování v kompaktorech abstraktní pece.
3. Zapouzdření. Hlavní výhodou zapouzdření je, že nemusím vědět, co se děje uprostřed mé trouby. Řekněme, že nekliknu na způsob zapnutí sporáku, ale na změnu výkonu, která se zapne na hodnotu true. Co se s ní v tuto chvíli stane? Jako princip zapouzdření nevyjednávání vám pak řeknu, abyste začali bydlet v ložnici, protože Řeknu ti to. Tobto. Pekař ví, co dělá pekař v ložnici, ví, jak pekař pracuje. Nebo například nemůžeme kdykoli nastavit nižší nebo vyšší teplotu trouby. Pokud nedodržíme zásadu zapouzdření, tak musíme říct troubě, aby zkontrolovala teplotu, tak co to je? Tobto. Pekař teď ví o troubách hodně. Getters a setters jsou funkce, které nám pomohou snadno implementovat změny. A je to. Vzhledem k tomu, že heterae a setter jsou prázdné, znamená to, že je to vyžadováno v mé stejné abstrakci. Gettry a settery nemohou ovlivnit implementaci zapouzdření, návrhář/programátor může zapouzdření implementovat nesprávně.

V jehož aplikaci je zvolená abstrakce dobrá. Každý se stará o svůj byznys, všechny tři pilíře OOP dělají maximum. Ale varto mě volí špinavou abstrakci, protože začíná skutečný problém. A zde jsou standardy rozlišení, které vám pomohou pochopit, zda jste zvolili správné abstrakce a zda je váš rozklad správný ve směru, kterým se ubíráte (SOLID).

Začali také přidávat abstrakci jako další pilíř OOP. Myslím, že je to švédsky pravda, ale ještě víc to zavání KEP.

O psaní už mi bylo řečeno. Vpravo nemá člověk, se kterým pracujete, během recese žádné každodenní problémy. Stejně jako na současné úrovni abstrakce je pro vás důležité vikorizovat děj, není důležité, abyste to dělali. Přestanete péct? Vytváříte si své sny? To je ono... Proč tě zajímá, že mi tahle dynamická typizace nerozumí. Chtěli jste péct? Vzít to. Potřebujete elektřinu? No, podívej, už nedostaneš benzín.

Další nedopalky, které byly uvedeny do statistik, které mi byly přiděleny, bez patřičné abstrakce a analogie v rámci zadaného úkolu. Smítko.

Okremo pro DTO. DTO – vzor řetízku. Umožňuje vytvořit objekt, který dokáže přenést informace do jiného míče, jiného systému, zkrátka kam je přenést. Proč se na to nemohu dívat jako na předmět, se mi stalo záhadou. Kde je ta superness? Co je v kontejneru? No a co?? Tento objekt je v rámci mnou zkoumaného objektového modelu na dané úrovni abstrakce, kde DTO je objekt a součást dekompozice.

Není také jasné, co říci o jazyce. Dokážu navrhnout software, software a objektově založený přístup nezávislý na jazyce. Pokud neimplementuje základní nástroje pro práci s objekty, bylo by obtížné nebo nemožné implementovat mnou navržený systém.

Také by se zdálo, že děj řeči nelze odhalit ze vzhledu předmětů a jejich vzájemných vztahů. Zajímalo by mě, co je špatně. Stačí si vybrat tu správnou abstrakci. Ať už jde o implementaci protokolu, míče pro přístup k databázi, propojovacích pluginů, správce úloh, obchodního procesu, systému návrhu obchodních procesů atd. vše, co lze snadno identifikovat jako předmět a jejich vzájemnou interakci. Vše lze implementovat jako objekty a interakci mezi nimi. Dobré a špatné jsou nejčastěji mimo dosah vaší mysli, abyste mohli objektivně myslet.

Celkem. Pokud nerozumíte síle ORP, pak poté, co jste viděli všechno, musíte vyvinout objektivní mysl.

P.S. V komentářích před posledním článkem jsem zjevně zašel v brutalitě skutečných lidí příliš daleko. Zeptám se znovu.

Proč objektově orientované programování ve většině projektů exceluje? OOP navrhuje účinný způsob, jak s touto složitostí bojovat. Namísto toho, aby se na program díval jako na sekvenci psaných instrukcí, představuje skupinu objektů se speciálními pravomocemi a provádí s nimi akce. Cílem je vytvořit jasnější, spolehlivější a snáze sledovatelné doplňky.

Základní principy vznikly díky tomu, že v jiných přístupech byly rozdíly. Mezi nimi je nedostatečný přístup k datům a velký počet připojení, které omezují provádění změn. Jejich povědomí o těchto důvodech je důležité, aby pochopili, že ORP má takové výhody, jako je naprogramováno.

Procedurální filmy

C, Pascal, FORTRAN a podobné jazyky jsou procedurální. Zde operátor nařídí počítači, aby udělal to, co dělá: odebral data, přidal čísla, vydělil šesti, zobrazil výsledek. Můj procedurální doplněk je seznam instrukcí. Vzhledem k tomu, že je malý, není potřeba žádný další organizační princip (často nazývaný paradigma). Programátor vytvoří seznam instrukcí a počítač je uloží.

Podléhá funkci

Jak se programy zvětšují, seznam se stává těžkopádným. Jen málo lidí dokáže porozumět více než stovkám pokynů, aniž by byli seskupeni. Z tohoto důvodu se funkce stala způsobem, jak učinit programy inteligentnějšími pro jejich tvůrce. V jiných jazycích může být stejný koncept nazýván podprogramy nebo procedury.

Program je rozdělen do funkcí, z nichž každá má jasně označené rozhraní.

Myšlenku rozdělování procedur lze rozšířit jejich seskupením do většího objektu zvaného modul, ale princip je podobný: seskupování komponent, které tvoří seznamy instrukcí.

Zaměření na funkce a moduly je jedním z vnějších kamenů strukturálního programování, které bylo předželezným paradigmatem několik desetiletí před příchodem ORP.

Problémy strukturálního programování

Fragmenty programů se zvětšovaly a strukturální programování začalo čelit potížím. Projekty se staly více skládací. Jízdní řády se hroutily. Zapojilo se více programátorů. Skládací se zvýšila. Výdaje vzrostly, harmonogram se zhroutil a kolaps začal.

Analýza důvodů těchto selhání ukazuje nedostatky procesního paradigmatu. Bez ohledu na to, do jaké míry jsou strukturující přístupy k programování dobře implementovány, skvělé programy se stávají neuvěřitelně složitými.

Jaké jsou příčiny těchto problémů spojených s procedurálním jazykem? Za prvé, funkce nemusí mít přístup ke globálním datům. Jinými slovy, postupy a hodnoty nejsou vzájemně propojené a špatně modelují skutečný svět.

Abychom se na tyto problémy podívali v kontextu programu zásob, jedním z nejdůležitějších globálních prvků dat je souhrn jednotek zásob. Lze na ně rozšířit různé funkce pro zadání nové hodnoty, její zobrazení, změnu atd.

Neomezený přístup

Program napsaný například v C má dva typy dat. Místní volání uprostřed funkce a další procedury nejsou ovlivněny.

Pokud jsou dvě nebo více funkcí odpovědné za odepření přístupu ke stejným datům, zbývající mohou být globální. Jsou to například informace o věcech, které je třeba pojistit. Globální data mohou být k dispozici pro jakýkoli postup.

Skvělý program má mnoho funkcí a mnoho globálních prvků. Problémem procedurálního paradigmatu je, že mezi nimi vytváří ještě více potenciálních spojení.

Takový velký počet spojení vyvolává řadu potíží. Především to dělá strukturu programu složitější. Jinými slovy, ztěžuje provádění změn. Změna globálního datového prvku může změnit všechny funkce, které k němu mají přístup.

Program chce například věřit, že kód pojištěné položky se nesmí skládat z 5 číslic, ale z 12. Proto byste měli změnit z krátkého na dlouhý. Nyní lze funkce spojené s kódem změnit tak, aby fungovaly s novým formátem.

Když se prvky ve velkém programu mění, je důležité říci, jaké procedury k nim mohou přistupovat. Jak však víte, tato změna může vést k nesprávnému zpracování jiných globálních dat. Vše je svázáno dohromady, takže změna na jednom místě vyústí v jiné.

Modelování skutečného světa

Druhým je nejdůležitější problém procedurálního paradigmatu a problémy, které souvisí se zpracováním dat a funkcí špatného modelování řeči ve světě. Zde se můžeme vypořádat s takovými předměty, jako jsou lidé a auta. Pachy nejsou podobné ani v datech, ani ve funkci. Složité reálné objekty mají vlastnosti a chování.

Atributy

Příklady atributů (někdy nazývaných vlastnosti) pro lidi jsou barva očí a název sedadla, pro auta - tloušťka a počet dveří. Jak se ukázalo, atributy skutečného světa jsou ekvivalentní s atributy programu. Zápach má specifické významy, jako je modrá (barva očí) nebo počet dveří.

Povědinka

Chování - takové, které se objekty reálného světa bojí jakéhokoli přílivu. Pokud se zeptáte svého šéfa na zvýšení platu, odpověď bude stejná. Když stisknete střechu, auto se začne kývat. Vimova zub a zadky z chování. Chování je podobné před procedurou: volají, aby provedli toto a poté, aby provedli toto. Tyto funkce tedy efektivně nemodelují objekty reálného světa.

Řešení problému

Objekt v OOP je reprezentován jako kolekce dat a funkce. Odebrat hodnotu umožňují pouze procedury nazývané členské funkce C++. Data byla přijata a ukradena ze změny. Hodnoty a funkce jsou zapouzdřeny do jednoho celku. Zapouzdření a skladování jsou hlavními pojmy v popisu GOM.

Pokud potřebujete data změnit, je jasné, které funkce s nimi interagují. Žádné jiné postupy k nim nemohou odepřít přístup. To usnadní psaní, vylepšování a podporu programů.

Přídavek se skládá z několika objektů, které vzájemně spolupracují, včetně členských funkcí.

Dnes je nejrozšířenějším programováním C++ (plus-plus). Java má řadu funkcí, jako jsou displeje, šablony a různé kombinace, díky kterým je méně obtížná a univerzální než C++. C# je stále na dosah popularity C++.

Všimněte si, že tyto členské funkce C++ se v mnoha jiných GO, jako je Smalltalk, nazývají metody. Tyto prvky se nazývají atributy. Klikněte na metodu objektu pro oznámení.

Analogie

Můžete identifikovat předměty divizí společnosti. Ve většině organizací vojenský personál nepracuje jeden den jako zaměstnanec kvůli svému platu a poté tráví zbytek dne v maloobchodě. Je důležité zajistit, aby všichni její zaměstnanci byli pečlivě umístěni na svých vázáních. Jedná se o nejnovější údaje: ukazatele mezd, tržeb, profily zaměstnanosti atd. Lidé v odděleních pracují s vlastními informacemi. Rozdělení společnosti tímto způsobem usnadňuje kontrolu její činnosti a zachovává integritu dat. Účetnictví potvrzuje, že pokud potřebujete znát celkovou výši mezd, které jsou vypláceny vaší současné rodině, nemusíte se ponořit do archivů. Vše, co musíte udělat, je poslat poznámku důvěryhodné osobě, zkontrolovat, dokud tato osoba nebude mít přístup k údajům, a najít potvrzení potřebných informací. Tím je zaručeno dodržování předpisů a absence dodávky třetí stranou. Takže samotný objekt v PLO zajistí organizaci hlášení.

Je důležité si uvědomit, že orientace na objekt není omezena detaily robotického programu. Většina příkazů C++ je podobná příkazům procedurálních příkazů, jako je C. Ve skutečnosti jsou členské funkce C++ docela podobné těm v C. Pouze širší kontext umožňuje určit, co procedurální příkaz je nebo není.

Objekt v OOP: význam

Při pohledu na výchozí programování na GO-mov, nahrazující napájení jinými funkcemi, je problém s připojením k objektům. OOP design výrazně zjednodušuje vývoj doplňků. To je způsobeno podobností mezi softwarem a skutečnými objekty.

Jaké projevy se stávají předmětem OVP? Níže jsou uvedeny typické kategorie.

Fyzický objekt v ORP je:

  • doprava v modelech proudění ruhu;
  • elektrické prvky v programech pro návrh obvodů;
  • okraje ekonomického modelu;
  • To je také případ systému řízení větru.

Prvky jádra koristuvach počítače:

  • Jídelní lístek;
  • vikna;
  • grafika (čárová, obdélníková, barevná);
  • klávesnice, myš, tiskárna, diskové jednotky.
  • pratsіvniki;
  • studenti;
  • klienti;
  • Prodejci.
  • vzhled knihy;
  • zvláštní důstojník vpravo;
  • slovník;
  • tabulka zeměpisných šířek a délek obydlených oblastí.

Spojení mezi objekty v reálném světě a ORP se stalo výsledkem kombinovaných funkcí a dat: smrad vytvořil revoluci v programování. V procedurálních jazycích taková podobnost neexistuje.

Třída

Objekty v OVP jsou členy tříd. Co to znamená? Vaše programy mohou mít integrované datové typy. Typ int je v C++ celé číslo. Můžete oznámit, kolik změn lze každý rok provést.

Podobným způsobem neexistují žádné objekty stejné třídy. To znamená, že funkce a data jsou zahrnuty v objektech, které je nevytvářejí, stejně jako int nevytváří změny.

Třída v OVP je popisem velmi podobných objektů. Princ, Sting a Madonna se spivaky. Není mnoho lidí s takovými jmény, ale lidé se tak mohou jmenovat, protože mají podobné vlastnosti. Objekt OOP je instancí třídy.

zklidnění

Životní třídy jsou rozděleny do podtříd. Například stvoření se dělí na obojživelníky, ptáky, ptáky, komy atd.

Princip tohoto druhu podtřídy spočívá v tom, že třída skinu má odlišné vlastnosti než třída, která je si navzájem podobná. Všechna auta si myjí kola a motory. To jsou výchozí charakteristiky dopravních zařízení. Kromě jedinečných vlastností kůže má podtřída své vlastní zvláštnosti. Autobusy mají dostatek prostoru a dodávky mají prostor pro přepravu důležitých věcí.

Podobně se základní třída může stát otcem mnoha podobných podtříd, které lze definovat tak, že oddělují její charakteristiky od charakteristik přidaných úřady. Jeho redukce na funkci zjednoduší procedurální program. Pokud musíte rozdělit několik částí kódu současně, můžete extrahovat skryté prvky a umístit je do jednoho postupu. Tři programy mohou pomocí funkce zrušit svou činnost, nebo mohou zrušit své vlastní operace. Podobá se této základní třídě k datům pomsty, skrytým pro skupinu tuláků. Podobně jako funkce redukce zkracuje program GO a objasňuje vzájemné vazby jeho prvků.

Opakovaně vikoristannya

Navíc, jako třída výtvorů a výhod, mohou být převedeny do jiných programů pro opakované použití vládních dodatků. Jedná se o obdobu knihovny funkcí, které lze zahrnout do různých programů.

V ORP je pokles rozšířenou myšlenkou vikoristiky bohaté na čas. Pro tuto třídu, aniž byste ji měnili, můžete vytvořit novou třídu s dalšími funkcemi. Snadná reimplementace původního PP je důležitou výhodou OOP. Je důležité, aby to zajistilo zvýšení ziskovosti z počátečních investic.

Vytváření nových typů dat

Objekty jsou užitečné pro vytváření nových typů dat. Předpokládejme, že program má dvourozměrné hodnoty (například souřadnice nebo zeměpisná šířka a délka) a potřebuje se s nimi vypořádat pomocí aritmetických operací:

pozice1 = pozice + počátek,

de і původ – dvojice nezávislých číselných hodnot. Vytvoření třídy, která zahrnuje dva významy, a zničení jejích proměnných objektů vytváří nový typ dat.

Polymorfismus, transformace

Operátory = (rovná se) a + (plus), které využívají poziční aritmetiku, nefungují stejně jako s odvozenými typy, jako je int. Objekty polohy nejsou přiřazeny, ale jsou nastaveny softwarem. Jak tito operátoři vědí, jak s nimi zacházet? Důkazem je, že mohou získat nové vzorce chování. Tyto operace budou členskými funkcemi třídy Position.

Variace operátorů a procedur v závislosti na tom, s čím pracují, se nazývá polymorfismus. Pokud základní operátor, jako je + nebo =, odebere možnost pracovat s novým typem dat, zdá se, že k opětovné implementaci nedochází. Re-imagining OOP je typ polymorfismu. Vona jí tuto důležitou rýži.

Kniha o ORP „Objektově orientované programování pro figuríny“ umožní každému, kdo se chce s tímto tématem zprávy seznámit.

Základní principy a fáze objektově orientovaného

programování

V teorii programování je OOP definována jako technologie pro vytváření komplexního softwaru, který je založen na daných programech ve formě sady objektů, z nichž každý má instanci jednoho typu (třídy), a tříd, které vytvářejí hierarchii h

pokles moci.

Interakce programových objektů v takovém systému probíhá prostřednictvím metody přenosu.

Poznámka. Takovýto projev programů se poprvé objevil v simulaci skládacích systémů Simula, které se objevily již v 60. letech.

Přirozený způsob, jak naše modelování prezentovat programy, které zavedly vývoj do jiného specializovaného modelování - Smalltalk (70. léta) a poté

Strana 2 z 51

Hlavní přepady OOP

Recenze nových verzí univerzálních programovacích jazyků, jako je Pascal, C++,

Hlavní výhoda ORP- zkrácení počtu mezimodulových hovorů a změna množství informací přenášených mezi moduly,

v souladu s modulárním programováním. Toho je dosaženo díky lepší lokalizaci dat a integraci s rutinami zpracování,

což umožňuje prakticky nezávislou pitvu různých částí

(cílový) program.

Navíc objektivní přístup podporuje nové metody technologického rozvoje, jako je kupř pokles, polymorfismus, složení, povrch,

což vám umožní snadněji navrhovat skládací předměty. V důsledku toho se výrazně zvyšuje ukazatel opětovné opravy kódů,

Objevuje se možnost vytváření knihoven objektů pro různé stagnační stavy a vývojáři doufají v další možnosti vytváření systémů pokročilé skládací schopnosti.

Hlavní nevýhodou OOP je schopnost snížit rychlostní kód pomocí dodatečné skládací organizace softwarového systému.

OOP je založeno na následujících principech: abstrakce,

sdílení přístupu, modularita, hierarchie, typizace, paralelismus,

trvanlivost.

Pojďme se podívat, jaký je princip kůže.

A b s t r a g i r o v a n i- proces vidění abstrakce v objektivním poli. Abstrakce je souhrn skutečných vlastností předmětu, které jej odlišují od jiných typů předmětů a

tímto způsobem jsou zvláštnosti daného předmětu jasně identifikovány z dalšího pohledu a analýzy. Je zřejmé, že abstrakce reálného předmětu musí zůstat ve formě rozpletené úlohy: v jednom případě určujeme podobu předmětu, jiným způsobem v

do třetice - materiály, ze kterých byl rozdělen, do čtvrtého - zákon zkázy

Strana 3 z 51

Hlavní přepady OOP

předmět atd. Současný nával abstrakce zprostředkovává sjednocení všech sil abstrakce (jakmile se stanu analyzovaným objektem,

Takto označujeme jeho chování) do jediné programové jednotky

abstraktní typ (třída).

Omezení přístupu- zahrnutí různých prvků realizace abstrakce, která neubírá na podstatných charakteristikách celku.

Potřeba propojení přístupu vede k oddělení dvou částí popisu abstrakce:

rozhraní - souhrn dostupných prvků volání implementace abstrakce (hlavní charakteristiky chování);

implementace - soubor nepřístupných prvků realizace abstrakce (vnitřní organizace abstrakce a mechanismy chování).

Výměna přístupu k OOP umožňuje vývojáři:

Vytvořte návrh systému krok za krokem, nezaměřujte se na konkrétní implementaci abstrakce, která se vyvíjí;

Je snadné upravit implementaci určitých objektů, které by při správné organizaci vyžadovaly změnu jiných objektů.

Sjednocení všech sil objektu (které se stane jeho chováním) do jediné abstrakce a omezení přístupu k implementaci těchto pravomocí se nazývalo zapouzdření.

M o d u l n o s t- princip vývoje softwarového systému,

který zprostředkovává realizaci ve formě samostatných částí (modulů). Při rozkladu systému na modul je důležité kombinovat logicky propojené části, aby bylo možné bezpečně zkrátit počet externích spojení mezi moduly. Princip úpadku

Strana 4 z 51

Hlavní přepady OOP

modulární programování, což zjednoduší návrh a

vývoj softwaru

Hierarchie – seřazený nebo uspořádaný systém abstrakcí.

Princip hierarchie je přenášen celou historií hierarchie vývoje softwarových systémů.

V OOP existují dva typy hierarchie.

Hierarchie „celek/část“- Označuje, že jsou zahrnuty určité abstrakce

Podívejme se na abstrakci jako její části, například lampa je složena do podstavce, nitě jsou pražené a žárovky. Tato verze hierarchie je vyvíjena v procesu vývoje systému v různých fázích návrhu (logicky - při rozkladu předmětné oblasti na objekty, fyzicky - při rozkladu systému na modul a při pozorování souvisejících procesů ve víceprocesovém systému ).

Hierarchie „za scénou/soukromá“- ukazuje, že tato abstrakce je doplněna jinou abstrakcí, například „celková tabulka -

konkrétní typ stolu“ a „stoly jsou specifickým typem nábytku“. Vikorist at

rozšíření struktury tříd, budou-li složité třídy založeny na jednodušších přidáním nových charakteristik a případně zpřesněním stávajících.

Jedním z nejdůležitějších mechanismů OVP je pokles moci v tajné/soukromé hierarchii. Kondenzace je také vztah mezi abstrakcemi, pokud je jedna z nich strukturální nebo funkční součástí jiné nebo několika dalších abstrakcí (jednoduchých i vícenásobných)

relaxace).

T i p i z a s i i - směna, která je uvalena na moc předmětů a

což překračuje zaměnitelnost abstrakce různých typů (resp. možnost takové náhrady je velmi silná). V jazycích s přísnou typizací objektu skinu programu (změna, podprogramy, parametr atd.)

jeden je šokován typem, který znamená neinvazivní operaci na

Strana 5 z 51

Hlavní přepady OOP

jako samostatný softwarový objekt. Výše uvedené programování založené na Pascalu je vikoryst a založené na C -

střední stupeň typizace.

Dodržování principu psaní zajistí:

včasná detekce chyb spojených s nepřijatelnými operacemi na programových objektech (přestávky jsou detekovány ve fázi kompilace programu před kontrolou přípustnosti jakékoli operace na softwarovém objektu);

zjednodušená dokumentace;

Možnost generování efektivního kódu.

Typ lze k objektu programu přiřadit staticky (typ objektu je určen ve fázi kompilace - včasné připojení) a dynamicky (typ objektu je určen až po spuštění programu - pozdější připojení). Implementace pozdní komunikace v našem programování umožňuje vytvářet změny - indikátory na objektech, které patří do různých tříd (polymorfní objekty), což podstatně rozšiřuje možnosti jazyka.

P a r a l e l i z m- síla řady abstrakcí se současně přenáší do aktivní fáze, pak. zrušit všechny operace.

Existuje celý nízký řád, z nichž nejdůležitější je okamžité uzavření určitých sekvencí akcí. Až do takových dnů dopředu,

Zdá se například, že existuje úloha automatického zpracování řady procesů.

Skutečného paralelismu je dosaženo při implementaci úlohy tohoto typu na víceprocesorových systémech, pokud je možné řídit proces skinu stejným procesorem. Systémy s jedním procesorem mají paralelismus pro sdílení půl hodiny procesoru mezi běžícími různými procesy. Závisí na typu zvoleného operačního systému (jedno nebo víceprogramové)

Strana 6 z 51

Hlavní přepady OOP

Asi za hodinu můžeme skončit se systémem, který se rozpadá (jako např

MS DOS), nebo proprietární OS (jako systémy Windows).

U s h i s t- síla abstrakce vzniká nezávisle na procesu, který dává vzniknout danému softwarovému objektu, a/nebo na prostoru přesouvajícím se z adresního prostoru do kterého typu tvorby.

Rozdělit:

∙ objekty založené na čase, které ukládají mezivýsledky akcí, například výpočet;

∙ lokální objekty, které existují uprostřed podprogramů, hodina jejich života se počítá z odezvy podprogramu až do jeho dokončení;

∙ globální objekty, program je zjevně stále fascinován záhadou;

∙ objekty, které se ukládají, data z nichž se mezi relacemi počítačového programu ukládají do souborů externí paměti.

Všechny principy jsou definovány stejným způsobem, jako jsou implementovány v různých verzích objektově orientovaných počítačů.

Objektově orientované programování. Jazyk je důležitý objektově orientovaný,Stejně jako v nové implementaci jsou implementovány první principy ze sedmi principů diskutovaných výše.

Obzvláště oblíbené jsou objektové modely Delphi a C++Builder. Tyto modely jsou aktualizovány pomocí OOP pro MS DOS a obsahují některé nové funkce,

zajistit efektivní tvorbu skládacích systémů. Na základě těchto modelů byla vytvořena vizuální prostředí pro vývoj programů Windows.

Snadnost programování pod Windows se stala evidentní

snížit náklady na vytváření speciálních knihoven objektů, které „uchovávaly“ mnoho prvků programovací technologie.

Strana 7 z 51

Hlavní přepady OOP

Etapy vývoje softwarových systémů z OOP na bázi wiki.

Proces vývoje softwaru s daty ORP zahrnuje několik fází: analýzu, návrh, vývoj, modifikaci.

Pojďme se podívat na fáze.

A na liz. Metaanalýza - nejúplnější popis rostliny. V této fázi končí analýza předmětné oblasti dat, objektová dekompozice systému, který je rozčleněn, a jsou identifikovány nejdůležitější rysy chování objektů (popis abstrakce). Na základě výsledků analýzy je rozčleněn strukturní diagram softwarového produktu, zobrazující hlavní objekty a informace, které jsou mezi nimi přenášeny, a končí také popisem abstrakce.

Design. Rozdělit:

logičtější design, Kdykoli se rozhoduje, je praktické nelhat v myslích na provoz (operační systém a zařízení);

fyzický design, Kdo nechal své bratry ctít jmenované úředníky.

Logičtější design spočívá ve vývoji struktury tříd:

Identifikují se pole pro ukládání objektů skladu a algoritmy metod a implementují se aspekty chování objektů. V tomto případě se podíváme na věci, na které se díváme, a přijmeme rozdělení tříd (snížení,

složení, povrch, polymorfismus atd.). Výsledkem je hierarchie nebo diagram tříd, který odráží propojení tříd a popis tříd.

Fyzický design zahrnuje kombinaci popisů tříd pro modul, výběr jejich schémat zapojení (statické nebo dynamické rozložení), výběr metod interakce se zařízením,

operační systém a/nebo jiný software (např.

databáze, edgebanding programy), zajištění synchronizace procesů pro paralelní systémy zpracování atd.

Strana 8 z 51

Hlavní přepady OOP

Evoluty i s těmi. Jedná se o proces implementace krok za krokem a

Připojení tříd k projektu Proces začíná vytvořením hlavního programu a projektu připravovaného softwarového produktu. Poté jsou třídy implementovány a propojeny tak, aby vytvořily hrubou, nebo pokud možno

funkční prototyp připravovaného systému. Je testován a vylepšen.

Takovým prototypem může být například systém, který zahrnuje implementaci hlavního rozhraní softwarového produktu (přenos pro informování dne, že část systému není dokončena). Výsledkem je výběr prototypu produktu, který může být uveden například pro upřesnění. Poté je k systému připojena skupina tříd, například spojená s implementací položky hlavního menu.

Alternativní možnost je také testována a vylepšována a tak dále, dokud nebudou realizovány všechny schopnosti systému.

Tato implementace krok za krokem výrazně zjednodušuje testování a vývoj softwarového produktu.

Modifikace. Jedná se o proces přidávání nových funkčních schopností a změny základních schopností systému. Jako pravidlo,

Změny dokončují implementaci třídy a ponechávají beze změny jejího rozhraní, takže ORP vikoristánu lze obejít bez zvláštních nepříjemností, protože proces změny zahrnuje místní oblast.

Změna rozhraní také není obtížným úkolem, jinak si toto řešení může vyžádat zlepšení procesů pro interakci objektů, které vyžadují změny v jiných třídách programů. Zkrácení řady parametrů v části rozhraní v souladu s modulárním programováním však tento proces značně zjednodušuje.

Jednoduchost úprav umožňuje snadné přizpůsobení softwarových systémů potřebám provozu, což se mění s tím, jak se více hodin životnosti systémů věnuje vývoji, na jehož vývoj je vynaloženo velké množství času a materiálních zdrojů.

Strana 9 z 51

Hlavní přepady OOP

Zvláštnosti OOP a ty, že objekt nebo skupinu objektů lze oddělit samostatně a jejich návrh může být také proveden v různých fázích. Například třídy rozhraní již byly implementovány, ale struktura doménových tříd se teprve upřesňuje.

Návrh začíná, když je v procesu analýzy plně popsán jakýkoli fragment předmětné oblasti.

Pohled na hlavní techniky objektového přístupu ilustruje rozklad objektů.

Rozklad objektů

Jak jsme již uhodli, s využitím moderní technologie OOP přichází řešení z pohledu výsledek interakce několika funkčních prvků jakýkoli systém, který má procesy,

co je předmětem úkolu.

Takový systém kůže má funkční prvek, který odmítá jakýkoli vstupní tok (nazývaný informace) v procesu nejdůležitějšího úkolu.

zruší akci skladby (můžete například změnit strukturu napájení, odstranit výpočty, sestavit plán a začlenit další prvky). Proces řeší úkol Sekvenční informace. Přenosem informací z prvku na prvek systém vybírá potřebné akce.

Funkční prvky systému, jejichž parametry a chování jsou přiřazeny mentálnímu úkolu, který může vést k nezávislému chování

(aby bylo možné „ukončit“ akce, které leží ve formě prvku), byly odstraněny názvy objektů.

Proces reprezentace předmětné oblasti jako souboru objektů k výměně informací se nazývá rozklad objektu.

Strana 10 z 51

Hlavní přepady OOP

Abychom pochopili, o jakých předmětech se diskutuje v konečném rozkladu předmětů v každém konkrétním případě, je nutné porozumět výchozímu předmětovému přístupu pro vývoj imitace.různých modelů chování skládacích systémů. Soubor objektů takových systémů je určen při analýze procesů, které jsou modelovány.

zadek. Dekompozice objektů (simulační model

čerpací stanice). Prosím, přestaňte nás trápit množstvím paliva, které na čerpací stanici zbývá vzhledem k počtu čerpacích stanic, parametrům obsluhy kožní čerpací stanice a intenzitě požadavků na doplnění paliva (koukáme na jeden druh paliva ).

Očekává se, že úkol tohoto druhu bude spoléhat na použití imitačních modelů. Model programově představuje reálný proces se zadanými parametry a současně zaznamenává jeho charakteristiky. Opakováním procesu simulace s různými hodnotami parametrů pro obsluhu a příjem aplikací výzkumník vybere konkrétní hodnoty charakteristik, které budou grafy analýzy ložisek.

Proces provozu čerpací stanice se třemi čerpacími stanicemi lze znázornit na následujících schématech.

Ve světě se pro složitější úkoly začala používat sofistikovaná výpočetní technika a počítače. Ukázalo se, že nárůst úloh skládání je důležitý kvůli výpočetní náročnosti počítačů a efektivitě psaní skládacích programů. Objektově orientované programování(OOP) Vinik sám o sobě je účinný způsob, jak se vypořádat s obtížemi, které vznikají při vytváření skládacích programů.

Nejvýznamnější částí OOP je speciální přístup ke komplexním programátorským úlohám, který se nazývá objektově orientovaná analýza A objektově orientované programování je prostě šikovný nástroj pro implementaci tohoto přístupu.

Dějiny

Zakladateli OOP jsou slavní Norové Cristen Nygaard a Ole-Johan Dahl. Při práci na simulacích stavby lodí si Nygaard uvědomil, že základní softwarové funkce jsou při vytváření tak složitých programů neúčinné, a tak Nygaard začal vyvíjet koncepty pro nové programování, které by umožnilo zvýšit laťku. poprvé. objektově orientovaný(Samotný termín byl vytvořen Alanem Kayem, autorem jazyka Java). Společně s Ole-Johanem Dahlem Nygaardem jsme analyzovali základní principy ORP a praktické mechanismy jejich implementace, které pak vyvinula první ORP Simula. Zásluhy těchto vědců byly vysoce oceněny světovou vědeckou komunitou a v roce 2001 se Nygaard a Dahl stali laureáty Ceny Alana Turinga – jakési obdoby Nobelovy ceny za informatiku.

Mova Simula si získala oblibu v akademických kruzích, ale z řady důvodů si nezískala oblibu mezi komerčními vývojáři softwaru. Tyto základní myšlenky a možnost ORP se staly pro programátory velmi atraktivní. V průběhu let byly vytvořeny další OY: SmallTalk (1980), C++ (1985), Eiffel (1986), Object Pascal (1986) a Delphi (1995), Oberon-2 (1991), Java (1991), Visual Basic (1991) a spousta dalších. Aktivity těchto společností se v programu staly průmyslovými standardy.

Vlastnosti OOP

Hlavní myšlenka OOP spočívá v tom, že navazuje na tvorbu programových struktur, jejichž chování a interakce jsou podobné chování a interakci objektů v reálném světě (takže program může vytvářet virtuální ne analogy skutečných esencí). Objektově orientované programování je zodpovědné za poskytování prostředků pro manuální a rychlou implementaci tohoto přístupu.

V každodenním životě se lidé spoléhají (neříkejme) na různé metody „ekonomie myšlení“, která jim umožňuje jednoduše pojmout a vyjádřit skládací krabice. Mezi typické techniky úspory peněz patří:

· Abstrakce (abstrakce nesíťových detailů);

· Uzgalnennya (vidět skryté znaky na různých předmětech nebo předmětech);

· Klasifikace (rozpoznání vztahu mezi objekty a úrovně jejich podobnosti).

Toto je prostě způsob, jak pomoci lidem procházet složitostí objektů, které vidí. Objektově orientované programování může také poskytnout takové funkce pro „boj s programovým nepořádkem“. Pro implementaci objektově orientovaného přístupu k programování jsou zavedeny nové koncepty:

· Objekty - speciální programové struktury, které integrují data a algoritmy pro jejich zpracování;

· Zapouzdření - zachycení detailů fungování objektů;

· Spudkuvannya – „zkratková“ metoda vytváření nových tříd;

· Polymorfismus - možnost kombinace více implementací jedné funkce.

Objekty a třída

Objekty jsou speciální programové jednotky, které jsou vytvořeny z těchto algoritmů pro zpracování stejných údajů. Data, která vstupují do skladu objektu, jsou volána pole(Atributy, pravomoci, členové). Algoritmy, které vstupují do skladu objektu, jsou volány metody(Služby, operace, členské funkce). Bohužel v OVP neexistuje žádná běžná unavená terminologie a v různých jazycích se pro jejich pochopení používají různé termíny.

Klasi- Jedná se o objektivní typy dat. Stejně jako celá čísla patří k celočíselnému typu (například celé číslo nebo bajt), patří i objekty k typu objektu – třídě. Všechny objekty stejné třídy mají stejnou sadu polí a stejnou sadu metod.

V běžných jazycích (C++, Java) se nazývají objekty Schovávám kopie(příklady).

Nevýhoda různých tříd a objektů spočívá v tom, že kontrola logických (sémantických) spojení mezi daty a funkcemi pro zpracování dat je triviální úkol a lze jej přenést především do kompilátoru (počítače) – nyní můžete určit, zda jsou data nesprávně opraveno.

Zapouzdření

Zapouzdření (doslova - „recepce“) - řízené získávání informací o vnitřní struktuře třídy. Třída může mít pole a metody, které objekty používají, včetně zajištění jejich práce (například vyrovnávací paměť v dynamické paměti, soubor s pracovními daty, metody pro práci s tímto souborem atd.). Není bezpečné měnit taková pole nebo klikat na metody objektu volání – může to zničit váš systém. Pro zajištění bezpečnosti objektů, jako jsou pole, může být tato metoda urvat- Braňte před nimi bestii.

Zapouzdření umožňuje z pozice „bojové složitosti“ přenést část kontroly nad správností práce s objekty na kompilátor (počítač).

Ukážeme si různé možnosti zapouzdření polí a metod (každodenní až do automatického zapouzdření všech polí). Odvětví objektových jazyků, jako je C++, Java, Delphi, Eiffel atd., má tři úrovně polí a metod zapouzdření:

· veřejné – poprvé veřejná pole Mezi metodami objektů neexistují žádné společné záměny;

· chráněné - ihned pojďme ukrást pole Nemůže existovat více metod než metod této třídy a metod podřízených tříd;

· soukromý - přímo nahoru soukromá pole a metody mohou být obviňovány z metod v této třídě.

zklidnění

zklidnění- vytváření nových tříd přidáním dalších podrobností ke stávajícím třídám, vynecháním popisů prvků, kterým se vyhýbají. Při zdědění se zavolá nová třída podle třídy(children, subclass) a volá se výstupní třída třída předků(Základní, Batkivskij, super třída).

Zmenšení zkrátí velikost programu vypnutím opakovaných popisů. Všechna pole a metody deklarované ve třídě předka jsou automaticky přeneseny do podtříd a obvykle jsou volány pokles(bude představeno).

Cokoli otcova metoda vyžaduje, můžete přehodnotit- tobto. Uvědomte si, že jiný algoritmus se používá stejným způsobem jako metoda platformy třídy.

Akce jsou podporovány mnohonásobný pokles, ve kterém jedna třída odmítá veškerou moc a metody současně mezi několika třídami. Bohužel mnoho zmatků je skryto v logických konfliktních situacích, protože podpora komplikuje programování jazyka a především kompilátor. Z těchto důvodů je v mnoha případech většina poklesu jednoduše zablokována, jinak může být odebrána.

Nazývá se souhrn všech tříd předků a tříd původu Hierarchie tříd.

Kondenzace tříd je ústředním konceptem OOP, který přímo i nepřímo vychází z jiných konceptů a mechanismů. Naprostá většina ORP mechanismů vyžaduje hierarchii tříd, aby byly odhaleny jejich výhody.

Polymorfismus

Polymorfismus(Doslova - „rozmanitost forem“) - schopnost používat jedno jméno pro několik metod (nebo funkcí), které mohou mít podobný význam. Jiný výklad – jedna metoda (funkce) může mít několik možností implementace; taková metoda (funkce) se nazývá polymorfní. Podobně jako u jiných ORP mechanismů, polymorfismus zejména zjednodušuje vývoj komplexních programů. Ve skutečnosti polymorfismus tento koncept posiluje co navíc potřebuje vydělávat peníze jaka Není třeba se stydět.

Pokud nakreslíme analogii ze skutečného života, pak je polymorfismus v souladu se skutečným životem. Například slovo „hudba“ znamená „hrát na hudební nástroj“. Ale na různé hudební nástroje se hraje různými způsoby. Termín je jen jeden, ale možností je spousta. Takže "hudba" - polymorfní akce. V OOP je "dělat hudbu" potvrzeno polymorfní metoda, který má svou implementaci pro skinovou třídu hudebních nástrojů

V OOP existují dva typy polymorfních metod revantageі virtuální.

Renovační metody uznávaný za Vikonanny Z dat různých typů. Existují různá jména a také různé seznamy argumentů a/nebo typ hodnoty, která se otáčí.

Virtuální metody uznávaný za Vikonanny však za náhradní operací ve sporných věcech, ale třídám se vyhýbají. Virtuální metody mají různá jména a prototypy. Jejich hlavním rysem je, že vždy přesně odpovídají skutečné třídě objektu.

Typickým příkladem přepracovaných funkcí je Pascalova funkce SQR. Vaughn vypočítá druhou mocninu čísla a pro celé argumenty bude výsledek stejný a pro řečové argumenty bude řečový.

Výhody virtuálních metod se projeví až v různých hierarchiích tříd. Typické schéma pro použití virtuálních metod je následující:

· Třída předka hierarchie má polymorfní metodu, což znamená hluboký příliv. V tomto případě je virtuální metoda vikorist nebo samotná metoda virtuální.

· U tříd přistání se přehodnotí odpovídající virtuální metoda – u třídy vzhledu se odpovídající akce přehodnotí svým vlastním způsobem.

· Když je provedeno volání pro objekt, který patří do nadřazené třídy, je ve skutečnosti zavolána polymorfní metoda do virtuální metody nadřazené třídy (nikoli třídy předka).

Dobrým příkladem takového použití virtuálních metod je systém rozhraní grafického okna Delphi nebo Visual Basic: viditelným prvkem grafického rozhraní je tlačítko, tlačítko atd. - může platit pro třídu TControl. Třída TControl zavádí pokročilé polymorfní metody pro malování prvků grafického rozhraní a na obrazovky můžete malovat ručně.

Objektově orientované programování není jasně rozpoznatelné v Rock Standard 2004, ale v Obovyazkovově minimu bude místo informační vědy téma pro specializované studenty (Riven B): Objektově orientované programování: objekt, pravomoci objektu, operace s objektem. Tam byla také vynalezena technologie objektově orientovaného programování.

Prote OVP nesnadno rozvinul praxi informatiky (programování) na bohatých školách a také na stránkách školních pomůcek ( Ugrinovič N.D. Informatika a informační technologie. Pidruchnik pro 10-11 třídy, 2005. M: BINOM. Laboratoř znalostí). Kromě toho propedeutický kurz informatiky pro 1. stupeň základní školy (pracovní šití autorského kolektivu pod vedením O. Gorjachova. 1.–4. objekt a jógu úřady.

Technologie (paradigma) OOP není ani tak o zvládnutí současných programovacích technik, jako spíše o vývoji objektového modelu základního problému. K tomu je potřeba mít dobrou znalost základních principů OOP a programování do budoucna a znalost žádného OOP není povinná – o tom zakladatelé a teoretici OOP psali nejednou. Grade Buch tedy ve své knize „Objektově orientovaný design a analýza“ uvádí následující zásadu: „Psaní programů v objektově orientovaném stylu je možné v jakémkoli (neobjektově orientovaném) jazyce. gramannya.“ Pro spuštění algoritmu technologie OOP je nutné formulovat seznam objektů, ze kterých algoritmus funguje, přemýšlet o síle objektu skinu a implementovat algoritmus jako výsledek interakce popisů těchto objektů.

Jak již bylo řečeno statistikou, takový přístup zjednoduší většinu složitých úkolů, ale v rámci školy (s výjimkou omezeného počtu ročníků) je důležité vymýšlet náhradní počáteční úkoly, tzn. aby nebyly přitaženy za vlasy používáním nových technologií.ORP ve vnějším světě.

Školní OVP je ve skutečnosti vnímáno jako neviditelná součást vizuálního a komponentového programování v současných profesionálních programovacích systémech a objekty jsou studovány v hotových objektových knihovnách různých úrovní - této a knihoven pro použití grafického rozhraní Doplňky Windows a bohaté univerzální knihovny datových typů (například STL C++). Abyste se naučili používat tyto knihovny, stačí znát a rozumět několika jednoduchým pravidlům pro syntaxi vašeho programování. Takové „znalosti“ však nepřibližují studenty k profesnímu rozvoji mého programování ani nevedou k pochopení OVP. Ale, píseň, v tom není nic hrozného. Školní informatika a na odborných školách se nezaměřují na přípravu odborných programů. Aplikace OOP je zvláštní téma a často není věnována dostatečná pozornost jejich specifickým specialitám.

Aniž bychom zcela popírali pozici některých zastánců informatiky, je důležité umístit objektově orientovaný přístup do oblasti programování ve výuce, a to i ve škole, podstatné je, že ORP nelze chápat bez takových základních principů, jako je program. , vikonavetsya, zminna, umova, cyklus atd. . Pojem OOP zahrnuje i klasické procedurální programování (kap. “ Podprogramy“), stejně jako Einsteinova mechanika – Newtonova mechanika: je možné identifikovat procedurální program jako jeden objekt, který pro jednoduchost vynecháme. Než tedy začneme s učivem ve škole, musíme se naučit základní řeči. І menší schopnost práce s moderními vizuálními programovacími nástroji (Delphi, Visual Basic, Visual C++
atd.) seznámit se s koncepty objektů a jejich komponent, zejména pomocí dalších technik pro výuku zákulisí programování.

Tajné informace

OOP je styl programování, který má 80 let 20 století. Kromě těch procedurálních, kde se data a instrukce zpracovávají, jsou zpracovávány vedle sebe, v objektově orientovaném programování se informace spojují do jediné entity.

Hlavní přepady OOP

zklidnění

Dalším principem ORP je útlum – schopnost jedné třídy přizpůsobit metody jiné, aniž by se opakovala jejich vlastní implementace. Zhutnění umožňuje, aby se výstupní kód stal nadpočetným.

Polymorfismus

Dalším principem ORP je polymorfismus. Tento koncept znamená, že pro manipulaci s objekty různého stupně složitosti můžete vytvořit jedno rozhraní, které reaguje různými způsoby a okamžitě správně implementovat úkol.

Movi OOP

Principy OOP jsou převzaty do nejpopulárnějších programovacích jazyků, jako je C++ a Java, na které je rozdělena velká část programů. Є a nejméně vikorystovuvanі movy OVP - tse Delphi, Object Pascal, Ruby a tak dále.

Kritika OOP

Navzdory převážně pozitivním zjištěním této metodiky jsou principy ORP často uznávány kritiky. Stejně jako má OOP své nedostatky.

Za prvé, přechod je hladký. Pro pochopení principů ORP je potřeba věnovat hodně času, zejména lidem, kteří pracují pouze s programováním procedurálních jazyků.

Jinak není mnoho komplexní dokumentace, protože je nutné popsat třídy objektů a konkrétní typy implementace.

Za třetí, univerzálnost metod může vést k tomu, že výstupní kód a programy, které jsou rozděleny, budou znovu vybaveny funkcemi a schopnostmi, které nejsou v tomto konkrétním případě vyžadovány. Na druhou stranu ukazuje na neúčinnost z pohledu paměti. Bez ohledu na myšlenky odcizených lidí však počet programů OOP neustále roste a programy samotné se rychle rozvíjejí.

Galmuє