Класи во Јава

 

Во реалниот свет често ќе најдете многу објекти кои се од ист вид. На пример може да има илјадници велосипеди, сите со иста изведба и модел. Секој велосипед е направен по иста шема и поради тоа ги содржи истите делови. Кажано со објектно-ориентирана  терминологија е дека некој велосипед е инстанца од класата на објектот велосипед. Класата е „шемаод која секој објект е креиран.

СледнаваVelosipedкласа е една варијанта за имплементација на велосипед.

class Velosiped{   
    int brzinaNaDvizenje = 0;
    int brzina = 1;
    int tempo = 0;

    void promeniGoTempoto(int novaVrednost){
        tempo = novaVrednost;
    }

    void promeniBrzina(int novaVrednost) {
        brzina = novaVrednost;
    }

    void zabrzaj(int zabrzuvanje) {
        brzinaNaDvizenje = brzinaNaDvizenje + zabrzuvanje
    }
   
    void uspori(int namaluvanje) {           
        brzinaNaDvizenje = brzinaNaDvizenje - namaluvanje;
    }
   
    void ispecatiSostojba() {
        System.out.println("tempo:" + tempo +
                                          " brzina na dvizenje:"+brzinaNaDvizenje+
                                          " brzina:"+brzina);
    }
}


Можеби синтаксата на Јава програмскиот јазик ќе ти изгледа нова, но дизајнот на класата е базиран на претходниот напис за објектот велосипед. Полињата brzinaNaDvizenje, brzina и tempo ја претставуваат состојбата на објектот, а методите (promeniGoTempoto, promeniBrzina, zabrzaj итн.) ја дефинираат интеракцијата со надворешниот свет.

Можеби забележа дека класата Velosiped не ја содржиглавната“ (main) метода. Тоа е така бидејќи класата не е комплетна апликација, таа е само шема за велосипедите кои можеби ќе бидат употребени во апликацијата. Можноста за креирање на нов објект велосипед останува на некоја друга класа во апликацијата.

Еве
, како пример, DemoVelosiped класа која ќе креира два независни велосипеди и ќе ги повика нивните методи.

class DemoVelosiped {
     public static void main(String[] args) {

          // Kreiranje na dva razlizni velosiped (objekti od klasata Velosiped)
          Velosiped velosiped1 = new Velosiped();;
          Velosiped velosiped2 = new Velosiped()

          // Povikuvanje na metodite na kreiranite objekti
          velosiped1.promeniGoTempoto(50);
          velosiped1.zabrzaj(10);
          velosiped1.promeniBrzina(2);
          velosiped1.ispecatiSostojba();

          velosiped2.promeniGoTempoto(50);
          velosiped2.zabrzaj(10);
          velosiped2.promeniBrzina(2);
          velosiped2.promeniGoTempoto(40);
          velosiped2.zabrzaj(10);
          velosiped2.promeniBrzina(3);
          velosiped2.ispecatiSostojba();
     }
}


Излезот (output) од горенаведеното ќе ги испечати вредностите, завршното темпо, брзината на движење и брзината во која се наоѓа менувачот на двата велосипеди:

tempo:50 brzina na dvizenje:10 brzina:2
tempo:40 brzina na dvizenje:20 brzina:3