"OK. Ultima dată ne-am ocupat de clase. Astăzi, aș vrea să vă spun cum să creați obiecte. Este foarte ușor. Scrieți cuvântul cheie new și apoi numele clasei pentru care doriți să creați un obiect."

Exemplu
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

— Știu deja asta.

— Știu că da. Ascultă în continuare.

„Când creați un obiect, puteți trece diverse argumente între paranteze. Mai multe despre asta mai târziu astăzi. Deocamdată, să aruncăm o privire la clasa Cat:”

Cod Java Descriere
class Cat {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
nume este o variabilă de instanță. Are un modificator de acces public, făcându-l vizibil oriunde în proiect.

Metoda getName este un getter. Returnează valoarea numelui variabilei de instanță . Numele metodei a fost derivat din cuvântul „get” plus numele variabilei cu prima literă majusculă.

Metoda setName este un setter. Este folosit pentru a atribui o nouă valoare numelui variabilei de instanță . Numele metodei a fost derivat din cuvântul „set” plus numele variabilei cu prima literă majusculă. În această metodă, parametrul are același nume ca și variabila de instanță,cu asta .

"Ce sunt acești getters și setters ?"

„În Java, este o practică obișnuită să ascunzi variabilele din alte clase. De obicei, variabilele declarate în interiorul claselor au modificatorul privat.

„Pentru a permite altor clase să modifice valoarea acestor variabile, se creează o pereche de metode pentru fiecare dintre ele: get și set . Metoda get returnează valoarea curentă a variabilei. Metoda set setează o nouă valoare pentru variabilă. "

— Și ce rost are?

„Dacă nu dorim ca cineva să schimbe valoarea unei variabile de instanță, pur și simplu nu putem crea o metodă setată pentru aceasta sau o putem face privată . Putem adăuga, de asemenea, verificări suplimentare de date la metodă. Dacă valoarea nouă a transmis este invalid, nu se va schimba nimic.”

"Înțeleg."

„Deoarece o clasă poate avea o mulțime de variabile, numele metodelor get și set includ de obicei numele variabilei cu care se ocupă.”

„Dacă o variabilă se numește „nume”, atunci metodele vor fi numite setName și getName etc.

— Înțeleg. Asta pare destul de rezonabil.

„Iată mai multe exemple de lucru cu un obiect nou creat:”

Etapa Cod Descriere
1
new Cat();
Creați un Catobiect
2
Cat catOscar = new Cat();
Stocați un Catobiect în variabilăcatOscar
3
catOscar.name = "Oscar";
catOscar.age = 6;
catOscar.weight = 4;
Completați obiectul cu date: nume, vârstă, greutate
4
catOscar.sleep();
Apelați o metodă pe obiect
5
catOscar.fight(catSmudge);
Faceți obiectele să interacționeze.

Un fragment de prelegere cu un mentor ca parte a cursului Universității Codegym. Înscrie-te la cursul complet.