Klasa i objekt u Java

โšก Pametni saลพetak

Klasa i objekt u Java su temeljni gradivni blokovi objektno orijentiranog programiranja. Klasa je nacrt koji definira polja i metode, dok je objekt instanca te klase. Ovaj resurs objaลกnjava oba koncepta, njihove razlike i radne primjere programa.

  • ๐Ÿงฑ Klasa kao nacrt: Klasa definira polja i metode zajedniฤke odreฤ‘enom tipu objekta.
  • ???? Objekt kao instanca: Objekt je samostalna instanca klase koja sadrลพi vlastite podatke i ponaลกanje.
  • โš–๏ธ Kljuฤna razlika: Klasa je predloลพak; objekt je konkretan uzorak stvoren iz tog predloลกka.
  • ๐Ÿ“ Naฤela dizajna: Dobre klase slijede SOLID principe za odrลพivi objektno orijentirani kod.
  • ๐Ÿ’ป Primjeri: Dva programa prikazuju klasu s klasom main unutar i klasom main smjeลกtenom u zasebnoj klasi.

Klasa i objekt u Java

U ฤemu su klase i objekti Java?

Klase i objekti u Java su temeljne komponente OOP-a. ฤŒesto postoji zabuna izmeฤ‘u klasa i objekata. U ovom vodiฤu pokuลกavamo vam objasniti razliku izmeฤ‘u klase i objekta u JavaPrvo, shvatimo ลกto su oni.

ล to je Class in Java?

A Klasa je nacrt ili skup uputa za izgradnju odreฤ‘ene vrste objekta. To je osnovni koncept objektno orijentiranog programiranja koji se vrti oko stvarnih entiteta. Klasa u Java odreฤ‘uje kako ฤ‡e se objekt ponaลกati i ลกto ฤ‡e objekt sadrลพavati.

Sintaksa klase u Java

class <class_name> {
    field;
    method;
}

U ฤemu je objekt Java?

An Objekt je instanca klase. Objekt u OOP nije niลกta drugo nego samostalna komponenta koja se sastoji od metoda i svojstava kako bi odreฤ‘ena vrsta podataka bila korisna. Na primjer, boja, naziv, tablica, torba ili lajanje. Kada ลกaljete poruku objektu, traลพite od objekta da pozove ili izvrลกi jednu od svojih metoda kako je definirano u klasi. S programskog glediลกta, objekt u OOP-u moลพe ukljuฤivati โ€‹โ€‹strukturu podataka, varijablu ili funkciju. Ima dodijeljenu memorijsku lokaciju. Java Objekti su dizajnirani kao hijerarhije klasa.

Sintaksa objekta u Java

ClassName ReferenceVariable = new ClassName();

Koja je razlika izmeฤ‘u objekta i klase u Java?

A Klasa U objektno orijentiranom programiranju je nacrt ili prototip koji definira varijable i metode (funkcije) zajedniฤke svim Java predmeti odreฤ‘ene vrste.

An objekt u OOP-u je primjer klase. Softverski objekti se ฤesto koriste za modeliranje objekata iz stvarnog svijeta koje pronalazite u svakodnevnom ลพivotu.

Kliknite ovdje ako video nije dostupan.

Kliknite ovdje ako video nije dostupan

Razumjeti koncept Java Klase i objekti s primjerom

Uzmimo primjer razvojaping ljubimac sustav upravljanja, posebno namijenjeno za pse. Trebat ฤ‡e vam razne informacije o psima, poput razliฤitih pasmina pasa, dobi, veliฤine itd.

Trebate modelirati biฤ‡a iz stvarnog ลพivota, tj. pse, u softverske entitete.

Java Razredi i predmeti

ล toviลกe, pitanje od milijun dolara je kako dizajnirati takav softver?

Evo rjeลกenja: Prvo, napravimo vjeลพbu. Dolje moลพete vidjeti sliku triju razliฤitih pasmina pasa.

Java Razredi i predmeti

Stanite ovdje odmah! Navedite razlike meฤ‘u njima.

Neke od razlika koje ste moลพda naveli mogu biti pasmina, dob, veliฤina, boja itd. Ako na trenutak razmislite, te razlike su ujedno i neke zajedniฤke karakteristike koje dijele ovi psi. Te karakteristike (pasmina, dob, veliฤina, boja) mogu formirati podatkovne ฤlanove za vaลก objekt.

Java Razredi i predmeti

Zatim navedite uobiฤajena ponaลกanja ovih pasa kao ลกto su spavanje, sjedenje, jelo itd. Dakle, ovo ฤ‡e biti radnje naลกih softverskih objekata.

Java Razredi i predmeti

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.

Java Razredi i predmeti

Sada, za razliฤite vrijednosti ฤlanova podataka (pasmina, veliฤina, dob i boja) u Java razreda, dobit ฤ‡ete razliฤite predmete za pse.

Java Razredi i predmeti

Moลพete dizajnirati bilo koji program koristeฤ‡i ovaj OOP pristup. Prilikom stvaranja klase morate se pridrลพavati ovih naฤela:

  • Naฤelo jedinstvene odgovornosti (SRP): Razred bi trebao imati samo jedan razlog za promjenu.
  • Princip otvorenog i zatvorenog (OCP): Trebalo bi biti moguฤ‡e proลกiriti klasu bez njezine izmjene.
  • Liskovljev princip supstitucije (LSP): Izvedene klase moraju biti zamjenjive za svoje bazne klase.
  • Naฤelo inverzije ovisnosti (DIP): Ovisi o trbuลกnim miลกiฤ‡imatraccija, a ne na konkrecije.
  • Princip segregacije suฤelja (ISP): Pripremite detaljna suฤelja specifiฤna za klijenta.

Klase i objekti u Java Primjeri programa

// Class Declaration
public 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 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:

Breed is: Maltese Size is:Small Age is:2 color is: white

Java Primjer objekta i klase: glavna vanjska klasa

U prethodnom programu smo kreirali metodu main() unutar klase. Sada kreiramo klasu i definiramo metodu main() u drugoj klasi. Ovo je bolji naฤin od prethodnog.

// 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:

Breed is: Maltese Size is:Small Age is:2 color is: white

Pitanja i odgovori

Da. AI asistenti mogu izgraditi klase, polja, konstruktore i metode iz opisa jednostavnim jezikom. I dalje biste trebali pregledati imenovanje, enkapsulaciju i logiku kako biste osigurali da generirani kod odgovara vaลกem dizajnu.

AI modeli prepoznaju strukture klasa kako bi generirali konzistentne objekte, predlagali metode i refaktorirali kod prema ฤistom, objektno orijentiranom dizajnu. To ubrzava razvoj uz odrลพavanjeping dobro organizirane odgovornosti.

Konstruktor je posebna metoda koja inicijalizira novi objekt kada se stvori. Dijeli isto ime kao i klasa i nema povratni tip, ฤesto postavljajuฤ‡i poฤetne vrijednosti polja.

ฤŒetiri stupa su enkapsulacija, nasljeฤ‘ivanje, polimorfizam i abstraccija. Zajedno strukturiraju objektno orijentirane Java programe, promovirajuฤ‡i ponovno upotrebljiv, siguran i odrลพiv kod izgraฤ‘en oko klasa i objekata.

Saลพmite ovu objavu uz: