algoritmizace a programování objektově orientované programování - 16
Post on 04-Jan-2016
39 Views
Preview:
DESCRIPTION
TRANSCRIPT
Algoritmizace a programováníObjektově orientované programování - 16
Mgr. Josef Nožička
IKT Algoritmizace a programování
www.zlinskedumy.cz
Anotace Materiál seznamuje žáky se základy objektově orientovaného programování. Musí být doplněn výkladem.
Autor Mgr. Josef Nožička (Autor)
Jazyk Čeština
Očekávaný výstup 26–41-M/01 Elektrotechnika78-42-M/01 Technické lyceum
Speciální vzdělávací potřeby
- žádné -
Klíčová slova Objekt, třída, konstruktor
Druh učebního materiálu Prezentace
Druh interaktivity Kombinované
Cílová skupina Žák
Stupeň a typ vzdělávání odborné vzdělávání
Typická věková skupina 16 - 19 let
Vazby na ostatní materiály Je součástí IKT.
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ů.
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.
Příklad definice třídy
typeThodiny=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).
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;
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
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.
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
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.
ZdrojePÍSEK, Slavoj. Delphi-začínáme programovat: podrobný průvodce začínajícího uživatele. Praha: Grada, 2002, ISBN 80-247-0547-8.
top related