Ključna razlika : klasa i objekt su dva najvažnija koncepta objektno orijentiranog programskog jezika. Glavna razlika između njih je ta da je klasa nacrt koji se koristi za stvaranje različitih objekata istog tipa.
Objektno orijentirano programiranje (OOP) je vrlo popularan stil programiranja zbog svoje sposobnosti da se bavi složenim aplikacijama s više kodova. Klasa i objekt su dva pojma koja se obično koriste u OOP jezicima. U svom najosnovnijem obliku, objekti su instanciranje klasa. Ovaj članak razlikuje ta dva pojma.
Objekt je proširenje apstraktnog tipa podataka, uz dodatak polimorfizma i nasljeđivanja. Objekt ima stanje (podatke) i ponašanje (kod). Kod programiranja, ključ je da je svaki objekt sam odgovoran za izvršavanje zadataka.
Objekt sadrži svojstva i metode koje su potrebne da bi određeni tip podataka bio koristan. Karakteristike objekta su ono što on zna i njegove metode su ono što on može učiniti. Metode pružaju funkcionalnost aplikacijama i osiguravaju ispravno korištenje podataka o objektu. Metode također omogućuju skrivanje stvarnog izvršavanja zadataka i standardiziranje pojedinih operacija za različite tipove objekata. Metode se koriste za pristup objektima klase. Sva interakcija se odvija kroz metode objekta. To je poznato kao enkapsulacija podataka. Objekti se također koriste za skrivanje podataka ili koda.
Za klasu se kaže da je nacrt objekta. To je proširiv vodič koji se koristi za stvaranje objekata; to je potprogram koji stvara objekt. Klasa ne predstavlja objekt; on predstavlja sve informacije i metode koje bi objekt trebao imati. Jedna klasa se može koristiti za stvaranje više objekata. Smatra se proširenom TYPE deklaracijom. U nastavku je osnovni primjer:
klasa Uzorak
{
javni statički prazni glavni (String [] argumenti)
{
String sampleText = "Pozdrav svima!";
Sustava (sampleText);
}
}
Gornji razred, nazvan 'Uzorak', uključuje jednu metodu pod nazivom glavno. Unutar glavnog, tekst uzorka varijable definiran je kao "Hello world!". Glavna metoda poziva sustav klase iz Java knjižnice, koja sadrži metodu "out.println" .Ova metoda se koristi za ispis uzorka teksta u izlazni tekst prozor.
Nastava je temeljni dio OOP-a. Oni omogućuju da se varijable i metode izoliraju u određenim objektima umjesto da budu dostupne svim dijelovima programa. Ovo enkapsuliranje podataka štiti svaki razred od promjena u drugim dijelovima programa. Korištenjem klasa, programeri mogu stvoriti strukturirane programe s izvornim kodom koji lako može mijenjati programe.
Usporedba između objekta i klase:
Objekt | klasa | |
definicija | Objekt je definiran kao bilo koji entitet koji se može koristiti pomoću naredbi u OOP-u. | Klasa se koristi u OOP-u za opisivanje jednog ili više objekata. |
Varijable | To je varijabla. | To je tip. |
Koncept | To je instanca klase. | To je prošireni koncept struktura podataka. |
Memorija | Memorija je dodijeljena. | Nema dodijeljene memorije. |
Primjer | #include pomoću prostora naziva std; pravokutnik klase { širina, visina int; javnost: void set_values (int, int); int area () {povratna širina * visina;} }; void Rectangle :: set_values (int x, int y) { width = x; height = y; } int main () { Pravokutnik rect, rectb; rect.set_values (3, 4); rectb.set_values (5, 6); cout << "pravo područje:" << rect.area () << endl; cout << "rectb area:" << rectb.area () << endl; return 0; } | klasa Pravokutnik { širina, visina int; javnost: void set_values (int, int); int područje (void); } rect; |
identifikator | 'Object_names' je izborni popis imena za objekte ove klase. | 'Class_name' je važeći identifikator za klasu. |
Svrha | Apstrakcija podataka i daljnje nasljeđivanje | grupiranje podataka |
Tip | upućivanje | Vrijednost |