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: