Úvod HTML CSS PHP MySQL JavaScript
Třídy

Třída

Třída je vzor, podle kterého se objekty vytváří. Definuje jejich vlastnosti a schopnosti. Objekt, který se vytvoří podle třídy, se nazývá instance. Třída je seskupení proměnných libovolného datového typu. Komunikace probíhá přes její metody a vlastnosti.
       public class A  
        {
            //proměnné  
            private int cislo;
            protected int cislo1;
            public string nazev;

            //konstruktor  
            public  A()
            {
                cislo = 4;
                cislo1 = 8;
                nazev = "nazev" ;
            }

            //konstruktor1   
            public A(string nazev, int cislo, int cislo1)
            {
                this.cislo = cislo;
                this.cislo1 = cislo1;
                this.nazev = nazev;
            }

            //metoda     
            public int secti()
            {
                 return cislo + cislo1;
            }

            //vlastnost 
            public int Cislo
            {
                get { return cislo; }
                set { cislo = value; }
            }

        }
     

      //  vytvoření instance třídy  
      A pokus1 = new A("nazev", 2, 5);   // konstruktor1  
      A pokus = new A();    // konstruktor  
     

Identifikátory

public – K proměnné je možné přistupovat zcela volně.
protected – K proměnné je možný přístup pouze „zevnitř“ třídy (v metodách třídy) nebo z odvozené třídy.
private – K proměnné je možný přístup pouze „zevnitř“ třídy.

Konstruktory

Konstruktory jsou zvláštním druhem metod, které se spouští pouze při vytváření instance třídy.
V příkladdu jsou dva konstruktory.
První z nich nemá žádné argumenty a nastavuje proměnné na předem danou hodnotu.
Druhý přijímá tři parametry, podle kterých přiřadí všem členům příslušné hodnoty.
Dvě stejně pojmenované metody se stejnými návratovými hodnotami ale s různými parametry jsou přetížené.

Metody

Existují pouze dva druhy metod, resp. tři. První je void (ta nic nevrací), druhá je s návratovou hodnotou (return) a třetí je konstruktor (jedná se také o jakousi speciální metodu, která slouží k vytvoření objektu).
     int ppp = pokus.secti();     //vrátí 12 
     int pppp = pokus1.secti();    //vrátí 7   
      

Vlastnosti

Umožňuji číst a nastavit privátní proměnné.

Dědičnost

Dědění je proces, jímž jeden objekt získá vlastnosti a metody jiného. Dědění odstraňuje nadbytečnost při definování tříd se společnými vlastnostmi a metodami. Společné vlastnosti a metody se definují v základní třídě a specifické vlastnosti a metody se uvedou v odvozených třídách. Každá třída může být potomkem pouze jedné třídy.
       public class Uzivatel
        {
            //proměnné
             public int vek;
             public string jmeno;

            //konstruktor
             public Uzivatel(string jmeno, int vek)
            {
                 this.jmeno = jmeno;
                 this.vek = vek;
            }
             public string spoj()
            {
                 return jmeno + vek.ToString();
            }
        }
         public class Adminm : Uzivatel 
        {    //proměnné
             public string narodnost;
             //konstruktor 
             public Adminm( string jmeno,  int vek,  string narodnost) :  base(jmeno, vek)
            {
                 this.narodnost = narodnost;              
            }
             public  string Vypis()
            {
                 return   spoj()+narodnost;
            }
        }
            Uzivatel pokus = new Uzivatel("Jan", 2);
            Adminm pokus1 = new Adminm("Honza", 2,"nor");
            label.Text = pokus1.Vypis();
            //nebo 
            label.Text = pokus1.spoj() + pokus1.narodnost;

Abstraktní třídy

Třídu uděláme abstraktní, když k deklaraci třídy přidáme klíčové slovo abstract. V této třídě pak implementujeme metody, vlastnosti apod. Některé z těchto prvků třídy pak můžeme označit také slovem abstract. Abstraktní metody ale neimplementujeme, vůbec nepíšeme tělo funkce. Abstraktní třídu je totiž nutné nejdříve zdědit a v potomku přepsat (override) všechny abstraktní metody. Jelikož funkčnost abstraktních metod není naimplementována, není možné abstraktní třídy instancovat (nelze vytvořit objekt tohoto typu). Přestože abstraktní třídy nemouhou být instancovány, nic vám nebrání v definici jejich konstruktoru, poněvadž implicitní konstruktor (konstruktor bez parametrů) je volán na všech předcích instancované třídy.
        public abstract class A 
        {

            public abstract int secti();
           
        }
        public class B :A
        {
            public int cislo;
            public B( int cislo)
            {
                this.cislo = cislo;              
            }

            public override int secti()
            {
                return cislo + cislo;
            }

  

Virtuální metody

Virtuální metoda může, ale nemusí být potomkem přepsána a má tělo (třeba i prázdné).
      public  class A 
        {
            public int cislo1=5;
            public virtual int Secti()
            {
                return cislo1; 
            }
           
        }
        public class B :A 
        {
            public int cislo;
            public B( int cislo)
            {
                this.cislo = cislo;              
            }

            public override int Secti()
            {
               return cislo +cislo;
            }

      
pravy Ascii tabulka
Barvy
Klávesové zkratky


©2013-2021 Trojklik.8u.cz Autor: Vašek D.