Třída je základní konstrukční prvek objektově orientovaného programování sloužící jako předpis pro vznik objektu jako instance třídy. Může odpovídat pojmům z reálného světa, tj. v informačním systému realizovaném programem psaném v objektově orientovaném jazyce mohou existovat třídy Zákazník, Objednávka, Faktura apod. Třída definuje vlastnosti (atributy) a metody (též funkce) objektů, které při běhu programu vzniknou (též instancí). Hodnoty vlastností (atributů) se mohou u jednotlivých instancí objektů odlišovat (každá instance Objednávky může mít jinou celkovou cenu), na každém objektu (vzniklém z jedné třídy) můžeme zavolat (použít) shodnou sadu metod.
UML zavádí dva typy vztahů mezi třídami – asociaci a generalizaci. asociace vyjadřuje budoucí vztahy mezi instancemi, které ze tříd (spojených asociací) vzniknou generalizace (též dědičnost) vyjadřuje vztah mezi třídami, který se při běhu programu projeví v okamžiku instancializace (vzniku objektu)
Abstraktní třída Abstraktní třída neumožňuje vytvářet objekty (instance). Slouží jako předpis (metod a atributů) pro další (konkrétní) třídy odvozené pomocí dědičnosti. Metody abstraktní třídy mohou být implementované, tj. ve třídě potomka budou přímo použitelné díky dědičnosti; neimplementované, předepisující pouze hlavičky (název, argumenty a návratové typy), jejichž implementace je vyžadována ve třídě potomka. Lze tedy říci, že se jedná o šablonu pro vytváření specifické skupiny tříd.
Příklad třídy v jazyce Java public class Clovek { /*atributy jméno a věk*/ private String jmeno; private int vek;
/*konstruktor - při instancializaci, tj. vzniku objektu, musí být zadány hodnoty atributů jméno a věk*/ public Clovek(String jmeno, int vek) { this.jmeno = jmeno; this.vek = vek;
/*funkce resp. metody, které bude možné na instanci - objektu - použít (zavolat)*/ public String getJmeno() { return jmeno;
public int getVek() { return vek;
public void udelejUkoly() { ...
public void zavriOkno() { ...
Související články Instance třídy Objekt (informatika) Objektově orientované programování Interface (programová konstrukce)
Literatura
Kategorie:Programovací konstrukce Kategorie:Objektově orientované programování