11. Klase
Na klase se može gledati kao na predloške za objekte. One opisuju funkcionalnost koje če pojedini objekti imati i podatke koje če sadržavati,no neće se raditi o konkretnom objektu. Primjer koji se koristi u večini knjiga je primjer Automobila, pa ču i ja navesti taj primjer. Ima li netko ovdje nazočni bolji primjer neka ubaci. Klasa-Auto može sadržavati opis objekta, njegove metode (na primjer: Ubrzaj i Uspori) te svojstva (MaksimalnaBrzina, KoličinaGoriva itd.). Želimo li stvoriti konkretni objekt kiji če imati svoju vrijednost za maksimalnu brzinu i količinu goriva te koji če doista i obavljti akcije ubrzavanja i usporavanja moramo stvoriti novi objekt iz klase Auto.
Evo kako se definira klasa auto:
public class Auto { //Implementacija klase }
Za definiranje klase koristi se ključna riječ class i ime klase, a unutar vitičastih zagrada se navodi njena implementacija. U implementaciji klase definiraju se članovi klase. To su sve metode i svojstva koje klasa ima. Klase su zasebni objekti koji u potpunosti sadržavaju svu svoju funkcionalnost i neovisni su o okolini. Krenimo sad definirati nekoliko osnovnih svojstva klase Auto:
public class Auto { public int TrenutnaBrzina; //Cjelobrojno svojstvo za pračenje trenutne brzine public void Ubrzaj() //metoda za ubrzanje { TrenutnaBrzina += 10; } public void Uspori() //metoda za usporavanje { TrenutnaBrzina -= 10; } public void Kreni() //metoda za kretanje { while (TrenutnaBrzina != 50) Ubrzaj(); } public void Stani() //metoda za zaustavljanje { while (TrenutnaBrzina != 0) Uspori(); } }
Klase služe kao predlošci za stvaranje objekata.Koriste se kao i svaki drugi
tip podataka a za deklariranje koristimo samo ime klase.
//U koliko navedemo samo : Auto mojAuto; //Objekt klase auto još nije moguče koristiti iz razloga //jer nije još stvoren u memoriji da bismo ga stvorili koristimo //naredbu new pa to izgleda ovako: mojAuto = new Auto(); //e da to inače pišemo krače u jednom redu: Auto mojAuto = new Auto; //sada možemo koristiti vrijednosti svih varijabli iz objekta. Auto mojAuto = new Auto(); mojAuto.Kreni(); mojAuto.Ubrzaj(); mojAuto.Stani(); //itd.
Evo jednostavnog primjera kojim simuliramo vožnju:
Auto mojAuto = new Auto(); mojAuto.Kreni(); mojAuto.Ubrzaj(); Conzole.WriteLine(mojAuto.TrenutnaBrzina); //60 mojAuto.Stani();
Dakle šta smo to gore nadrobili? Prvo smo stvorili objekt klase Auto,pa smo
zatim pozvali njegove metode.Sve metode su definirane u samoj klasi,
pa ih zato može koristiti svaki objekt te klase.


