algoritmizace a programování objektově orientované programování - 16

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

Upload: yeva

Post on 04-Jan-2016

39 views

Category:

Documents


1 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

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

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.

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

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ů.

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

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.

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

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).

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

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;

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

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

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

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.

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

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

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

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.

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

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.