1 / 11

Algoritmizace a programování Objektově orientované programování - 16

Algoritmizace a programování Objektově orientované programování - 16. Mgr. Josef Nožička. IKT Algoritmizace a programování. www.zlinskedumy.cz. OOP – základní filozofie.

yeva
Download Presentation

Algoritmizace a programování Objektově orientované programování - 16

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmizace a programováníObjektově orientované programování - 16 Mgr. Josef Nožička IKT Algoritmizace a programování www.zlinskedumy.cz

  2. OOP – základní filozofie Základní filozofie objektově orientovaného programování (dále jen OOP) spočívá v tom, že program se skládá ze skupiny objektů, které obsahují určitá data a mají definované společné rozhraní, s jehož pomocí spolu vzájemně komunikují. Také programovací jazyk Delphi je objektově orientovaný jazyk, který u některých svých konstrukcí využívá principů OOP. Výhod OOP může v Delphi využívat i programátor při tvorbě vlastních programů.

  3. Datový typ třída (class) Pro definici vlastních objektů se v Delphi používá datový typ třída. Obecné schéma definice třídy je následující: jmeno=classseznam proměnných;seznam metod;end; Poznámka:Do definice třídy dále mohou být navíc včleněna klíčová slova private, public nebo published, pomocí nichž je definováno zabezpečení jednotlivých částí třídy.

  4. Příklad definice třídy type Thodiny=classhodiny:byte;minuty:byte;sekundy:byte;constructor Init (h,m,s:byte);procedure Nastavhodiny (h,m,s:byte);procedure Ukazcas;end; Poznámka:Uvedená třída obsahuje 3 proměnné (hodiny, minuty, sekundy) a 3 metody (Init, Nastavhodiny, Ukazcas).

  5. Konstruktor a jeho význam Konstruktor je speciální metoda, která slouží k vytvořeníjednotlivých objektů a inicializaci (nastavení) jejich počátečních hodnot. Například u třídy z předchozího snímku se s pomocí konstruktoru vytvoří objekty hodiny, minuty a sekundy (tj. vyhradí se pro ně místo v paměti o příslušné velikosti). Nastavení jejich počátečních hodnot se pak provede v těle konstruktoru: constructor Thodiny.Init (h,m,s:byte);beginhodiny:=h; minuty:=m;sekundy:=s; end;

  6. Základní vlastnosti OOP Objektově orientované programování se vyznačuje 3 základními vlastnostmi, kterými se odlišuje od ostatních programátorských technik: • Dědičnost • Zapouzdření • Polymorfismus

  7. Dědičnost je vlastnost, která při definici třídy umožňuje převzít některé objekty z dříve definované třídy. Příklad: Tbudik=class(Thodiny)zvoneni:boolean;constructor Init (h,m,s:byte;zv:boolean);procedure Nastavzvoneni(zv:boolean);end; Třída Tbudik převezme všechny objekty z dříve definované třídy Thodiny a přidá k nim objekty nové (proměnnou zvoneni a metodu Nastavzvoneni).Konstruktor Init bude doplněn o nastavení proměnné zvoneni.

  8. Zapouzdření Díky této vlastnosti je možné omezit přístup k jednotlivým datům tak, aby je nemohl používat nikdo jiný než jejich oprávněný vlastník. Každý objekt, který je součástí třídy, může přitom mít nastavenou různou úroveň zabezpečení, určenou jednímz těchto klíčových slov: private – objekt se může používat pouze v rámci jednotky, v níž je deklarován public – objekt je volně přístupný a zajišťuje komunikaci třídy s jejím okolím published – podobně jako public s tím rozdílem, že objekt obsahuje navíc informace o běhu programu

  9. Polymorfismus Je vlastnost, umožňující zaměnitelnost jednotlivých objektů v rámci dědičné hierarchie.Jedná se o vlastnost, které většinou využívají pouze pokročilí programátoři. Používá se například v případě, kdy chceme v rámci nové třídy předefinovat metodu, převzatou (zděděnou) od jejího předka.

  10. Zdroje PÍSEK, Slavoj. Delphi-začínáme programovat: podrobný průvodce začínajícího uživatele. Praha: Grada, 2002, ISBN 80-247-0547-8.

More Related