\b;Klíčové slovo \c;extends\n;
Toto klíčové slovo se používá v definici \c;\l;třídy\u cbot\class;\n;, která má zdědit prvky z jiné třídy. Třída, ze které se dědí, se obvykle nazývá rodič, odvozené třídě se obvykle říká dceřinná nebo potomek.

\t;Příklad
\c;
\s;public class Rodic
\s;{
\s;	void foo()
\s;	{
\s;		message("foo");
\s;	}
\s;}
\s;
\s;public class Dcera extends Rodic
\s;{
\s;	void bar()
\s;	{
\s;		message("bar");
\s;	}
\s;}
\s;
\s;extern void object::Test()
\s;{
\s;	Dcera instance();
\s;	instance.foo(); // Zobrazí "foo"
\s;	instance.bar(); // Zobrazí "bar"
\s;}
\n;

\b;Zděděné prvky
Třídy mohou dědit pouze \c;\l;veřejné\u cbot\public;\n; a \c;\l;chráněné\u cbot\protected;\n; prvky. \c;\l;Soukromé\u cbot\private;\n; prvky nejsou přímo přístupné ani v dceřinných třídách, ale lze k nim přistupovat nepřímo prostřednictvím zděděných metod.

Konstruktory a destruktory se nedědí, ale můžete je předefinovat.

\b;Překrývání metod
Zděděné metody můžete v dceřinné třídě překrýt (předefinovat). Příklad:
\c;
\s;public class Rodic
\s;{
\s;	void foo()
\s;	{
\s;		message("foo");
\s;	}
\s;}
\s;
\s;public class Dcera extends Rodic
\s;{
\s;	void foo()
\s;	{
\s;		message("bar");
\s;	}
\s;}
\s;
\s;extern void object::Test()
\s;{
\s;	Dcera instance();
\s;	instance.foo(); // Zobrazí "bar"
\s;}
\n;
Předefinovanou metodu rodiče můžete uvnitř metod dceřinné třídy volat prostřednictvím klíčového slova \c;\l;super\u cbot\super;\n;.

\b;Polymorfismus
\c;\l;Ukazatel\u cbot\pointer;\n; na rodičovskou třídu může odkazovat na instanci dceřinné třídy. V takovém případě ale přes tento ukazatel nemůžete přistupovat k prvkům dceřinné třídy. Abyste k nim mohli přistupovat, musíte se nejprve ujistit, že ukazatel opravdu obsahuje instanci dceřinné třídy. Pak ho můžete bezpečně zkopírovat do ukazatele na dceřinnou třídu, který má přístup k příslušným prvkům.

\t;Příklad
\c;
\s;public class Rodic
\s;{
\s;	void foo()
\s;	{
\s;		message("foo");
\s;	}
\s;}
\s;
\s;public class Dcera extends Rodic
\s;{
\s;	void foo()
\s;	{
\s;		message("bar");
\s;	}
\s;	void bar()
\s;	{
\s;		message("foo bar");
\s;	}
\s;}
\s;
\s;extern void object::Test()
\s;{
\s;	Rodic lide[2];
\s;	lide[0] = new Rodic();
\s;	lide[1] = new Dcera();
\s;	for (int i = 0; i < 2; ++i)
\s;	{
\s;		lide[i].foo();
\s;	}
\s;	//lide[1].bar(); // Chyba
\s;	Dcera instance = lide[1];
\s;	instance.bar(); // OK
\s;}
\n;

\b;Vícenásobná dědičnost
Dceřinná třída nemůže mít více než jednoho rodiče. Rodičovská třída ale může mít více dětí.

\t;Užitečné odkazy
\c;\l;class\u cbot\class;\n;, \c;\l;public\u cbot\public;\n;, \c;\l;private\u cbot\private;\n;, \c;\l;protected\u cbot\protected;\n;, \c;\l;new\u cbot\new;\n;, \c;\l;ukazatelé\u cbot\pointer;\n;, \c;\l;this\u cbot\this;\n;, \c;\l;super\u cbot\super;\n;
\l;Programování\u cbot;, \l;datové typy\u cbot\type; a \l;kategorie\u cbot\category;.
