» Poradna » Ostatní

Rozdíl mezi Objektovým a procedurálním programováním

 |   |  Microsoft Windows 8.1 Chrome 43.0.2357.124

Zdravím. Ve škole jsem dostal jistou otázku z programování(viz titulek).Něco jsem googlil, ale nejsem si jistý, že jsem to správně pochopil. Existuje nějaká jednoduchá definice OOP? A vůbec, v čem se liší od procedurálního? Díky za odpověď.

Mohlo by vás také zajímat

Odpovědi na otázku

 | Microsoft Windows 7 Chrome 43.0.2357.124

Tak nám napiš jak jsi to pochopil nebo je to tajemství? Pokud to napíšeš špatně věř že tě tu hned někdo opraví jak to má být správně.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8.1 Chrome 43.0.2357.124

U procedurálního programování je program jeden celek, maximálně tak rozdělený do procedur pro zpřehlednění a opakované použití.U objektového je program tvořený víceméně samostatnými objekty.Ale to je jenom velmi hrubé zjednodušení.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Chrome 43.0.2357.124

jsou tyto objekty schopny běžet samostatně? Nebo musí být součástí nějakého programu?Nějak nechápu využití objektů, když máme funkce. Funkce je taky soubor příkazů, který můžu znova recyklovat a použít jinde ne?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8.1 Chrome 43.0.2357.124

Jakýkoliv kód musí být součást programu, aby mohl běžet.Jenže funkce si nemůže udržovat svůj stav, ale objekt ano. Objekty mohou obsahovat nejen související funkce (zde nazývané jako metody), ale také data.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Chrome 43.0.2357.124

Mimochodem terminologie - Imperativní = Procedurální?Takže v OOP mám určité objekty, což je nějaký kód, který nosí informace, může mít fce/metody, tento objekt, v případě že funguje, ušetřit spoustu času pokud budu určitou část programu muset opakovat.Procedurárním programování používáme při řešení nějakého programu určitý algorytmus, který je většinou omezen na daný problém? Tak nějak to chápu já, ale neumím to vědecky interpretovat :D

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 43.0.2357.81

Ty objekty si predstav jako predmety realneho sveta, casto se to tak mapuje. Mas objekt auto: ten ma atributy (spotreba, pocet sedadel, motor, ...) a nad timto objektem pracuji metody (nastartuj, zatoc doleva, zatoc doprava, ...). Tyhle metody taky muzou implementovat nejaky algoritmus - treba algoritmus pro nastartovani ( 1. vloz klicky do zapalovani, 2. zmackni spojku, 3. otoc klickem, ...)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 38.0

"ja" ti to řekl pěkně, ale zkusím k tomu něco taky přidat. (Ony i objekty mohou obsahovat procedury. Ostatně funkce/metody jsou vlastně procedury, které poskytují nějaký výsledek svého algoritmu). I procedury ušetří spoustu času i případných chyb v psaní kódu, pokud musíš nějakou část programu opakovat, nemusíš to psát stále znova, ale jen jednou a pak proceduru voláš, můžeš ji volat vždy s jinými parametry a procedura (případně funkce) bude míát pokaždé jiný výsledek.Objekt je takové povýšení tohoto na vyšší úroveň. Objekt je soubor metod, vlastností, eventů (zpráv), můžeš třeba napsat jeden grafický objekt se spoustou vlastností (umístění, tvar, barva...) a pak jen volat jeho konstruktor a "naplácat" do okna třeba 100 takových objektů a každému velmi jednoduše změnit jeho vlastnosti, dělat si s nima téměř co chceš. Pak můžeš napsat jiný objekt, který bude dědicem toho původního objektu (bude mít všechny jeho metody a vlastnsoti) a přidat mu jíné, některé metody (ty které jsou psané jako virtuální) změnit atd., je toho hodně co se s objekty dá dělat. Ale taky záleží co umožní jazyk, mám dojem že VB (ne s .NET) např. dědit neumí.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

Dedicnost je jedna z velmi dulezitych vlastnosti objektoveho programovani.Typicky priklad:Mas objekt Obecny_Graficky_Objekt, ktery mit metodu NakresliSe, NastavBarvu, SmazSe...Od tohoto objektu budou zdedene dalsi objekty jako Bod, Ctverec, Trojuhelnik, Kruh...Kazdy jen prepise metodu NakresliSe. A tobe pak bude jedno, ktery objekt pouzijes, protoze staci, kdyz pouzijes odkaz na predka a zavolas NakresliSe. Ty si budes drzet seznam predka (Obecneho_Grafickeho_Objektu) a nebude te zajimat, jestli jde o kruh, ctverec... Ke vsem pristupujes stejne. Potrebujes pridat vsem objektum novou vlastnost? Treba PohniSe? Tak ji pridas do spolecneho predka, ktery jen zavola SmazSe a VykresliSe na nove pozici. Od te chvile muzes pouzivat tuhle novou metodu u vsech objektu.Druha dulezita vlastnost je zapouzdreni objektu - kazdy objekt je samostatny a zapouzdruje urcity funkcni celek. K tomuto celku pristupujes jen pres objekt, nikdy ne primo.Je to mnohem snadnejsi na udrzovani velkeho projektu, kdy napr. kazdy ciselnik je odvozeny od nejakeho zakladniho objektu a je plne zapouzdreny. Ostatni casti vubec nezajima, kde jsou ulozena data ciselniku, pouze si objekt cislniku vytvori, vyvola seznam polozek apod. A programator vi, ze kdyz potrebuje menit neco kolem adresare, pouze zmeni jeden objekt a nebude muset dohledavat v rozsahlem projektu, kde vsude se vybiraji data z adresare.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows XP Firefox 31.9

A "Hello world!" exe má velikost v megabajtech.https://en.wikipedia.org/wiki/%22Hello,_World!%22_program

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

To není problém, zvlášť v moderních porgramovacích prostředích, kde máš jako základ megabajt a víc obsluhy fornty zpráv apod. Pak už to tolik nekyne.Jestli použiješ objektové programování nebo ne, záleží na konkrétní úloze. Objektové programování je slozitejsi - musis napsat vic kodu. Místo toho, abys vypsal na konzoli Hello World, musis napsat objekt, ktery pise na konzoli, napsat mu nejake metody. Pak jej vytvorit a zadat mu, aby vypsal, co potrebujes a zrusit jej (pripadne se spolehat na nejake Grabage collectory, jak je dnes v mode)Takze se to vyplati pouze tam, kde to opravdu vyuzijes a neco ti to prinese.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

Hodně zjednodušeně se to dá popsat takto:Procedurální programování je speciální případ objektového programování, kde je využit jen jeden objekt. Tj vše je součástí tohoto jednoho objektu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Firefox 38.0

Stará škola z 90. let - schematicky- objektové - starne se SW (tehdá PowerBuilder nebo Gupta) - na monitoru se natvoří okna, políčka, tlačítka a pak se jednotlivým prvků-Objektům přiřazují funkce. Objekt je i aplikace nebo okno (tady přiřazují se jim činnosti - otevřít databázi, tabulky, ....).- procedurální (Pascal) - natvořím si knihovnu procedur (otevírání oken, připojování souborů-databází, různé procesy, ...) a ty pak volám.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

Nemichal bych klikaci rozhrani s objektovym programovanim. Mas pravdu, formular je objekt, kteremu doplnis metody a udalosti. Ale pokud bytek programu napises normalne, neni to objektove programovani. A pokud budes mit 10 formularu, ktere budou kazdy zvlast pristupovat ke stejnym datum a budou si resit zmeny po svem, opet to neni objektove programovani. Naopak ten Pascal s pomoci knihoven funkci, ktere ti zapouzdrily pristup k datum je objektovemu programovani bliz.A pokud nebyla pri editaci jina moznost nez v tom klikacim prostredi, tak byl des. Prikladem je Visual FoxPro. Kdyz jsi chtel neco menit, musel jsi se k tomu proklikat na nekolikrat a jeste vedet presne kde.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 43.0.2357.124

poviem to takto, po prelozeni do asembleru je to stale ten isty gulas.nazodpovednejsie je pouzitie linearneho programovania pre viacero roznych vrstiev ktore mozu bezat paralelne, inak sa v tom nevyzna ani diva svina, a je kod zbytocne preplacany a nafucany odkazmi na odkazy kde sa v tom uz ani maria nevyzna.objektove programovanie je povodne marketingový tah ked si kancelarsku aplikaciu mohol zbuchnut pretiahnutim okien na plochu a kazdej si dal samostatny kod.neskor sa to pogrcalo na tkzv. metody ked uz museli zasiahnut ludia s vrodenou duševnou chorobov aby sa v tom aspon niekto zorientoval. Povodne im ale slo iba o ulahcenie zdielania premennych, ktoru pomenovali zasa dalsim nazvom aby to malo grady, dedicnost.Aby to nebolo take lahke samotne volanie je ako zo sci fi a obycajne sa v roznych apliciach pouziva nazov_plnyslov->niekdetuje_kod33(nejake,komplikovanosti).vzdy a vsade je to linearny kod, ale cim nezrozumitelnejsie ma volania a triedenia, tym horsie sa v nom vyznas, menej ludi ho ovlada, a zlozitejsie sa dopracujes k jednoduchej veci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 38.0

Máš pravdu, dnes už se moc neoptimalizuje, kolikrát i tady v některých dotazech šli někteří s kladivem na komára, na kdejakou blbost nějaký hotový objekt třeba v C#..., ale na druhé straně objekty naopak mohou kód zjednodušit a zpřehlednit. Podobně třeba struktury (v Pascalu/Delphi record) mohou zpřehlednit práci s promennými, nadefinuješ jeden typ jednou a můžeš ho použít třeba 100x, pokaždé to bude samostatná struktura, podle potřeba dát do pole atd. atd., velice jednoduše pak jen jedním pointrem všecho najednou uložíš do souboru atd., Ale jo, např. MCU mám nejraděj v assembleru, člověk to má zcela pod kontrolou. Ale složitější věci by v tom člověk psal daleko déle, než v céčku, takže jsem se k céčku začal klonit i s MCU. Ale to už jsem od objektů odbočil.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 43.0.2357.124

na OO som zanevrel ked som pristupil k rozpracovanemu projektu zlozeneho z OO a par funkcii kde cielovy nebol este ani len nacrtnuty a zakladom celeho bola databaza v pamati (struktura) povytahovana z jednoduchych tabuliek na disku do megastruktury plnej pod struktur v dostrukturach, ktore sa neustale doplnovali a opravovali a cele to potom padalo lebo v inom OO s tym niekto nemohol pocitat .... no ty vole, si hovorim... robit nieco takto od zadu a este bez testovacich dat a zrejmeho ciela....

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

Zanevrit na zpusob programovani kvuli jednomu blbe navrzenemu projektu?To je, jako bys rekl, ze C# je spatny, protoze nejaky programátor spatne napsal jeden program.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 38.0

Přesně tak, objekty mohou hodně usnadnit práci, zpřehlednit program atd.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8.1 Firefox 38.0

Podle mě žádný, obojí obsahuje písmena, číslice a všelijaké znaky.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Definice, Kvilda



Bude to o prsa. Facebook a Instagram pořád neví, kdy jsou zobrazené bradavky porno

Bude to o prsa. Facebook a Instagram pořád neví, kdy jsou zobrazené bradavky porno

**Meta má zjednodušit pravidla a být ke všem spravedlivá **Facebook s Instagram věnují samostatný odstavec bradavkám **Pravidla ale neřeší nebinární, transsexuální a intersexuální osoby

Petr Urban
InstagramFacebookSociální sítě
Spousta řidičů v Česku riskuje pokutu kvůli umístění držáku mobilního telefonu. Zákon hovoří jasně

Spousta řidičů v Česku riskuje pokutu kvůli umístění držáku mobilního telefonu. Zákon hovoří jasně

** Kam s telefonem v autě, které nemá palubní počítač? ** Variant držáků je celá řada, ale každý má svá specifika ** Není možné jej umístit, kam se vám zlíbí

AutoRevue.cz
LegislativaPro řidičePříslušenství
Nový hit. Tahle appka vám udělá profilovku jako od pouličního ilustrátora

Nový hit. Tahle appka vám udělá profilovku jako od pouličního ilustrátora

** Aplikace NewProfilePic se na Androidu stala hitem ** Můžete si v ní vytvořit profesionálně vypadající profilovky ** Pozor ale na agresivní cenovou politiku za Pro verzi

Martin Chroust
FotografieUmělá inteligenceMobilní aplikace
Vědci zkoumali přesnost měření stavby těla u hodinek od Samsungu. Výsledky všechny překvapily

Vědci zkoumali přesnost měření stavby těla u hodinek od Samsungu. Výsledky všechny překvapily

** Chytré hodinky běžně bereme jako informativní měřidla ** Jak si však stojí ve srovnání s profesionálními měřiči ** Při měření stavby těla se na hodinky můžete spolehnout

Martin Chroust
Galaxy Watch4Měření
Google není jen vyhledávač: 15 užitečných funkcí, o kterých možná ani nevíte

Google není jen vyhledávač: 15 užitečných funkcí, o kterých možná ani nevíte

** Google umí kromě vyhledávání i spoustu dalších věcí ** Vybrali jsme více než 15 užitečných funkcí a schopností ** Stačí zadat do vyhledávače ta správná klíčová slova

Karel Kilián
TipyVyhledávačeGoogle
Facebook má nejspíš vaše telefonní číslo, i když jste mu ho nikdy nedali. Tímto tajným nástrojem ho můžete smazat

Facebook má nejspíš vaše telefonní číslo, i když jste mu ho nikdy nedali. Tímto tajným nástrojem ho můžete smazat

**Meta poskytuje nástroj na vymazání telefonních čísel a e-mailových adres z Facebooku a Instagramu **V minulosti Mark Zuckebrg popřel, že by Facebook vytvářel stínové profily **Metě teď můžete sebrat klíčové iddentifikátory, pořád o vás ale nejspíš ví mnoho dalšího

Petr Urban
MetaSledováníSociální sítě
Za WhatsApp se bude platit! Za předplatné dostanete funkci, která je u konkurence zadarmo

Za WhatsApp se bude platit! Za předplatné dostanete funkci, která je u konkurence zadarmo

** Bylo to jen otázkou času ** Už i WhatsApp nabízí prémiové předplatné ** Za poplatek dostanete funkci, která je u konkurence zadarmo

Martin Chroust
předplatnéWhatsAppMobilní aplikace
Máte rádi malé telefony? Pak si oblíbíte tohoto třípalcového drobečka, který není větší než platební karta

Máte rádi malé telefony? Pak si oblíbíte tohoto třípalcového drobečka, který není větší než platební karta

** Dnešní telefony se předhánějí v tom, který z nich bude větší ** Malé telefony na trhu skoro vyhynuly... ** Čínská značka si připravila telefon do dlaně s třípalcovým displejem

Martin Chroust
InfraportKompaktní velikostSmartphony
Návod, jak dostat maximum z Peněženky Google

Návod, jak dostat maximum z Peněženky Google

Služba Google Wallet (Peněženka Google) schlamstla před několika měsíci platební aplikaci Google Pay. Díky tomu se původní platforma rozrostla o další funkce. Je zde však i prostor pro zlepšení.

Jan Spěšný
Co s novým počítačem: Tohle udělejte, než ho začnete používat

Co s novým počítačem: Tohle udělejte, než ho začnete používat

**Každý nový počítač si zaslouží počáteční péči **Odinstalujte bloatware a nezapomeňte na vhodné nastavení **Poradíme, jaký software do nového počítače nainstalovat

Petr UrbanDavid Polesný
TipyPočítače

Aktuální číslo časopisu Computer

Jak surfovat anonymně

Test přenosných projektorů

Kompletní srovnání DDR4 a DDR5

Jak vyčistit počítač od špíny a prachu