Share to: share facebook share twitter share wa share telegram print page

Třída (programování)

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

Literatura

Kembali kehalaman sebelumnya