Razlika između klase i objekta u OOP-u
Ključne razlike između klase i objekta
- Klasa je predložak za stvaranje objekata u programu, dok je objekt instanca klase.
- Klasa je logički entitet, dok je objekt fizički entitet.
- Klasa ne dodjeljuje memorijski prostor; s druge strane, objekt dodjeljuje memorijski prostor.
- Klasu možete deklarirati samo jednom, ali možete stvoriti više od jednog objekta pomoću klase.
- Klasama se ne može manipulirati, dok se objektima može manipulirati.
- Klase nemaju nikakve vrijednosti, dok objekti imaju svoje vrijednosti.
- Možete stvoriti klasu koristeći ključnu riječ "class", dok ručno možete stvoriti objekt koristeći ključnu riječ "new". Java.

Što je Klasa?
Klasa je entitet koji određuje kako će se objekt ponašati i što će objekt sadržavati. Drugim riječima, to je nacrt ili skup uputa za izgradnju određene vrste objekta. Daje početne vrijednosti za varijable članice i funkcije ili metode članice.
Što je Object?
Objekt nije ništa drugo nego samostalna komponenta koja se sastoji od metoda i svojstava kako bi podaci bili korisni. Pomaže vam da odredite ponašanje klase.
Na primjer, kada šaljete poruku objektu, tražite od objekta da pozove ili izvrši jednu od svojih metoda.
S programskog gledišta, objekt može biti podatkovna struktura, varijabla ili funkcija kojoj je dodijeljena memorijska lokacija. Objekt je dizajniran kao hijerarhija klasa.
Klasa protiv objekta – razlika između njih
Ovdje je važna razlika između klase i objekta:
Klasa | Objekt |
---|---|
Klasa je predložak za kreiranje objekata u programu. | Objekt je instanca klase. |
Klasa je logički entitet | Objekt je fizički entitet |
Klasa ne dodjeljuje memorijski prostor kada je kreirana. | Objekt dodjeljuje memorijski prostor kad god se stvori. |
Klasu možete deklarirati samo jednom. | Pomoću klase možete stvoriti više od jednog objekta. |
Primjer: auto. | Primjer: Jaguar, BMW, Tesla itd. |
Klasa generira objekte | Objekti daju život klasi. |
Klasama se ne može manipulirati jer nisu dostupne u memoriji. | Njima se može manipulirati. |
Nema vrijednosti koje su povezane s poljima. | Svaki objekt ima vlastite vrijednosti koje su povezane s poljima. |
Možete stvoriti klasu pomoću ključne riječi "klasa". | Možete stvoriti objekt pomoću ključne riječi "new" in Java |
Razumjeti koncept Java Klase i objekti s primjerom.
Uzmimo primjer razvoja sustava za upravljanje kućnim ljubimcima, posebno namijenjenog psima. Trebat će vam razne informacije o psima kao što su različite pasmine pasa, dob, veličina itd.
Trebate modelirati bića iz stvarnog života, tj. pse u softverske entitete.
Štoviše, pitanje od milijun dolara je kako dizajnirati takav softver? Evo rješenja-
Prvo, napravimo vježbu.
Sliku tri različite pasmine pasa možete vidjeti ispod.
Stanite ovdje odmah! Navedite razlike među njima.
Neke od razlika koje ste možda naveli su pasmina, dob, veličina, boja itd. Ako malo razmislite, te su razlike također neke zajedničke karakteristike ovih pasa. Ove karakteristike (pasmina, dob, veličina, boja) mogu formirati članove podataka za vaš objekt.
Zatim navedite uobičajena ponašanja ovih pasa kao što su spavanje, sjedenje, jelo itd. Dakle, ovo će biti radnje naših softverskih objekata.
Do sada smo definirali sljedeće stvari,
- Klasa: Psi
- Članovi podataka or predmeti: veličina, starost, boja, pasmina itd.
- Metode: jesti, spavati, sjediti i trčati.
Sada, za različite vrijednosti članova podataka (veličina pasmine, dob i boja) u Java razreda, dobit ćete različite predmete za pse.
Možete dizajnirati bilo koji program koristeći ovaj OOP pristup.
Klase i objekti u Java
U donjem programu deklarirali smo klasu pod nazivom Pas. Definirali smo objekt klase pod nazivom "maltese" pomoću nove ključne riječi. U zadnjoj izjavi System.out.println(maltese.getInfo()); prikazujemo informacije o psu kao što su pasmina, veličina, dob, boja itd.
// Class Declaration class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public String getInfo() { return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); } } public class Execute{ public static void main(String[] args) { Dog maltese = new Dog(); maltese.breed="Maltese"; maltese.size="Small"; maltese.age=2; maltese.color="white"; System.out.println(maltese.getInfo()); } }
Izlaz:
Pasmina je: Maltezer Veličina je: Mali Starost je:2 Boja je: bijela
Vrste razreda
Slijede važne vrste klasa:
Izvedene klase i nasljeđivanje
Izvedena klasa je klasa koja je stvorena ili izvedena iz druge preostale klase. Koristi se za povećanje funkcionalnosti osnovne klase. Ova vrsta klase izvodi i nasljeđuje svojstva iz postojeće klase. Također može dodati ili podijeliti/proširiti vlastita svojstva.
Superklase:
Superklasa je klasa iz koje možete izvesti mnogo podklasa.
Podrazredi:
Potklasa je klasa koja proizlazi iz nadklase.
Mješovita nastava
Mješovita klasa je još jedna funkcionalnost koja vam pomaže da naslijedite svojstva jedne klase u drugu. Koristi podskup funkcionalnosti klase, dok izvedena klasa koristi kompletan skup funkcionalnosti nadklase.
Upotreba klase
Evo važnih upotreba klase:
- Klasa se koristi za držanje varijabli podataka i funkcija članova.
- Omogućuje vam stvaranje korisnički definiranih objekata.
- Klasa pruža način organiziranja informacija o podacima.
- Možete koristiti klasu za naslijeđivanje svojstva druge klase.
- Klase se mogu koristiti za iskorištavanje prednosti konstruktora ili destruktora.
- Može se koristiti za velike količine podataka i složene aplikacije.
Upotreba objekta
Ovdje su važne namjene objekta
- Pomaže vam da saznate vrstu prihvaćene poruke i vrstu vraćenih odgovora.
- Možete koristiti objekt za pristup dijelu memorije pomoću varijable reference objekta.
- Koristi se za manipulaciju podacima.
- Predmeti predstavljaju problem iz stvarnog svijeta za koji tražite rješenje.
- Omogućuje podatkovnim članovima i funkcijama članova da izvrše željeni zadatak.