C++ Luokka ja objekti esimerkin kanssa

โšก ร„lykรคs yhteenveto

Luokat ja objektit C++ muodostavat olio-ohjelmoinnin perustan, jossa luokka mรครคrittelee datan ja jรคsenfunktioiden suunnitelman ja objekti on tรคstรค suunnitelmasta luotu konkreettinen instanssi.

  • ๐Ÿ”ท Luokan piirustus: A C++ luokka niputtaa datan jรคsenet ja jรคsenfunktiot yhdeksi kรคyttรคjรคn mรครคrittรคmรคksi tyypiksi.
  • ๐Ÿ”‘ Kรคyttรถoikeusmuokkaajat: Avainsanat private, public ja protected mรครคrittรคvรคt, mistรค luokan jรคseniin voi pรครคstรค kรคsiksi.
  • ๐Ÿงฑ Objektin instanssi: Objekti luodaan luokasta kรคyttรคmรคllรค syntaksia luokan-nimi objektin-nimi.
  • ???? Jรคsenten pรครคsy: Pisteoperaattori tavoittaa julkiset jรคsenet, kun taas jรคsenfunktiot kรคsittelevรคt tallennettua dataa.
  • โš™๏ธ Rakentajat: Konstruktorit alustavat objektit automaattisesti, ja destruktorit vapauttavat ne, kun ne menevรคt laajuuden ulkopuolelle.
  • ๐Ÿค– AI-apu: GitHub Copilot ja vastaavat tekoรคlyavustajat luovat lyhyestรค kommentista tukirakenteita luokkien mรครคritelmille ja rakentajille.

C++ Luokka ja objekti

Mikรค on luokka?

A C++ luokka yhdistรครค tiedot ja menetelmรคt tietojen kรคsittelemiseksi yhdeksi. Luokat mรครคrรครคvรคt myรถs objektien muodot. Luokkaan sisรคltyvรคt tiedot ja menetelmรคt tunnetaan luokan jรคseninรค. Luokka on kรคyttรคjรคn mรครคrittรคmรค tietotyyppi. Kรคyttรครคksemme luokan jรคseniรค kรคytรคmme luokan esiintymรครค. Voit nรคhdรค luokan objektin suunnitelmana.

Luokka voi olla talon prototyyppi. Se nรคyttรครค ovien, ikkunoiden, lattioiden jne. sijainnin ja koot. Nรคiden kuvausten perusteella voimme rakentaa talon. Talosta tulee objekti. Prototyypistรค on mahdollista luoda useita taloja. Luokasta on myรถs mahdollista luoda useita objekteja.

C++ luokka objektien piirustuksena

Yllรค olevassa kuvassa meillรค on yhden talon prototyyppi. Tรคstรค prototyypistรค olemme luoneet kaksi taloa, joissa on erilaisia โ€‹โ€‹ominaisuuksia.

Kun ajatellaan luokkaa suunnitelmana, seuraava vaihe on nรคhdรค, miten se deklaroidaan koodissa.

Luokkailmoitus

In C++, luokka mรครคritellรครคn avainsanalla class. Tรคmรคn perรครคn tulee luokan nimi. Luokan runko lisรคtรครคn sitten aaltosulkeiden { } vรคliin.

Syntaksi

class class-name
   {
   // data
   // functions
   };
  • luokan nimi on luokalle annettava nimi.
  • tiedot on luokan data, joka yleensรค deklaroidaan muuttujina.
  • tehtรคvรคt ovat luokkafunktioita.

Luokan nimen ja rungon mรครคrittรคminen herรคttรครค luonnollisesti kysymyksen siitรค, kuka voi kรคyttรครค kutakin jรคsentรค.

Yksityiset ja julkiset avainsanat

Olet varmaan tรถrmรคnnyt nรคihin kahteen avainsanaan. Ne ovat pรครคsyn muokkaajia.

yksityinen:

Kun yksityistรค avainsanaa kรคytetรครคn funktion tai luokan mรครคrittรคmiseen, siitรค tulee yksityinen. Sellaiset ovat kรคytettรคvissรค vain luokasta kรคsin.

Julkinen:

Julkinen avainsana puolestaan โ€‹โ€‹tekee tiedoista/funktioista julkisia. Nรคihin pรครคsee kรคsiksi luokan ulkopuolelta.

Kun luokka on luotu, siitรค voidaan luoda olioita, aivan kuten muuttujia luodaan tietotyypistรค.

Objektin mรครคritelmรค

Objektit luodaan luokista. Luokkaobjektit deklaroidaan samalla tavalla kuin muuttujat. Luokan nimen on oltava ensin ja sen jรคlkeen objektin nimi. Objekti on luokkatyyppiรค.

Syntaksi

class-name object-name;
  • luokan nimi on sen luokan nimi, josta objekti luodaan.
  • objektin nimi on uudelle objektille annettava nimi.

Tรคtรค objektin luomisprosessia luokasta kutsutaan instanssiksi.

Kun objekti on luotu, sen julkisiin jรคseniin voidaan tavoittaa suoraan yksinkertaisen operaattorin avulla.

Tietojen jรคsenten kรคyttรถ

Luokan julkisiin jรคseniin pรครคsemiseksi kรคytรคmme (.)piste-operaattoria. Nรคmรค ovat jรคseniรค, jotka on merkitty julkisen kรคyttรถoikeuden muokkaajalla.

Esimerkki 1

#include <iostream>
using namespace std;
class Phone {
public:
	double cost;   
	int slots; 
};
int main() {
	Phone Y6;        
	Phone Y7;        

	Y6.cost = 100.0;
	Y6.slots = 2;

	Y7.cost = 200.0;
	Y7.slots = 2;
	cout << "Cost of Huawei Y6 : " << Y6.cost << endl;
	cout << "Cost of Huawei Y7 : " << Y7.cost << endl;

	cout << "Number of card slots for Huawei Y6 : " << Y6.slots << endl;
	cout << "Number of card slots for Huawei Y7 : " << Y7.slots << endl;

	return 0;
}

lรคhtรถ:

C++ julkisten tietojen jรคsenten kรคyttรคminen Esimerkki 1 tuloste

Tรคssรค on kuvakaappaus koodista:

C++ julkisten tietojen jรคsenten kรคyttรถ Esimerkki 1 koodi

Code Selitys:

  1. Sisรคllytรค iostream-otsikkotiedosto koodiimme, jotta voit kรคyttรครค sen toimintoja.
  2. std-nimiavaruuden sisรคllyttรคminen koodiimme kรคyttรครคksemme sen luokkia kutsumatta sitรค.
  3. Ilmoita luokka nimeltรค Puhelin.
  4. Julkisen kรคyttรถoikeuden muokkaimen kรคyttรคminen merkitsemรครคn muuttujat, joita olemme luomassa, julkisesti saatavilla oleviksi.
  5. Ilmoita kaksoistietotyypin muuttuvat kustannukset.
  6. Ilmoita kokonaislukumuuttuja nimeltรค slots.
  7. Luokan rungon loppu.
  8. Main()-funktion kutsuminen. Ohjelmalogiikka tulisi lisรคtรค sen runkoon.
  9. Luo objekti nimeltรค Y6, jonka tyyppi on Puhelin. Tรคtรค kutsutaan instantiaatioksi.
  10. Luo objekti nimeltรค Y7, jonka tyyppi on Puhelin. Tรคtรค kutsutaan instantiaatioksi.
  11. Pรครคset luokan Puhelin muuttuja-/jรคsenkustannuksiin objektilla Y6. Arvoksi on asetettu 100.0. Y6:n hinta on nyt 100.0.
  12. Siirry luokan Puhelin muuttuja-/jรคsenpaikkoihin objektin Y6 avulla. Arvoksi on asetettu 2. Y6:n paikat on nyt asetettu arvoon 2.
  13. Pรครคset luokan Puhelin muuttuja-/jรคsenkustannuksiin objektilla Y7. Arvoksi on asetettu 200.0. Y7:n hinta on nyt 200.0.
  14. Siirry luokan Puhelin muuttuja-/jรคsenpaikkoihin objektin Y7 avulla. Arvoksi on asetettu 2. Y7:n paikat on nyt asetettu arvoon 2.
  15. Tulosta Y6:n hinta konsoliin muun tekstin viereen.
  16. Tulosta Y7:n hinta konsoliin muun tekstin viereen.
  17. Tulosta Y6-paikkojen mรครคrรค muun tekstin viereen.
  18. Tulosta Y7-paikkojen mรครคrรค muun tekstin viereen.
  19. Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
  20. Main()-funktion rungon loppu.

Julkiset jรคsenet ovat avoimia ulkopuoliselle koodille, mutta yksityiset jรคsenet noudattavat paljon tiukempia kรคyttรถoikeussรครคntรถjรค.

Mikรค on yksityinen luokka?

Yksityisiksi merkittyjรค luokan jรคseniรค voi kรคyttรครค vain luokassa mรครคritellyillรค toiminnoilla. Mikรครคn luokan ulkopuolella mรครคritelty objekti tai funktio ei voi kรคyttรครค tรคllaisia โ€‹โ€‹jรคseniรค suoraan. Yksityisen luokan jรคseneen pรครคsee vain jรคsen- ja ystรคvรคtoimintojen kautta.

Esimerkki 2

#include <iostream>
using namespace std;
class ClassA {
public:
	void set_a(int val);
	int get_a(void);

private:
	int a;
};
int ClassA::get_a(void) {
	return a;
}
void ClassA::set_a(int val) {
	a = val;
}
int main() {
	ClassA a;
	a.set_a(20); 
	cout << "Value of a is: " << a.get_a(); 
	return 0;
}

lรคhtรถ:

C++ yksityisen luokan jรคsenen esimerkki 2 tuloste

Tรคssรค on kuvakaappaus koodista:

C++ yksityisen luokan jรคsenen esimerkki 2 koodi

Code Selitys:

  1. Sisรคllytรค iostream-otsikkotiedosto koodiimme kรคyttรครคksesi sen toimintoja.
  2. Sisรคllytรค std-nimiavaruus koodiimme kรคyttรครคksesi sen luokkia kutsumatta sitรค.
  3. Luo luokka nimeltรค ClassA.
  4. Kรคytรค julkisen kรคyttรถoikeuden muokkaajaa merkitรคksesi luotava luokan jรคsen julkisesti kรคytettรคvรคksi.
  5. Luo funktio nimeltรค set_a(), joka ottaa yhden kokonaisluvun arvon val.
  6. Luo funktio nimeltรค get_a().
  7. Kรคytรค yksityisen kรคyttรถoikeuden muokkaajaa merkitรคksesi luotava luokan jรคsen yksityisesti kรคytettรคvissรค olevaksi.
  8. Ilmoita kokonaislukumuuttuja nimeltรค a.
  9. Luokan rungon loppu.
  10. Kรคytรค luokan nimeรค ja laajuuden resoluutiooperaattoria pรครคstรคksesi funktioon get_a(). Haluamme mรครคrittรครค, mitรค toiminto tekee, kun sitรค kutsutaan.
  11. Funktio get_a() palauttaa muuttujan a arvon, kun sitรค kutsutaan.
  12. Funktion get_a() mรครคritelmรคn loppu.
  13. Kรคytรค luokan nimeรค ja laajuuden resoluutiooperaattoria pรครคstรคksesi funktioon set_a(). Haluamme mรครคrittรครค, mitรค toiminto tekee, kun sitรค kutsutaan.
  14. Muuttujan val arvon antaminen muuttujalle a.
  15. Funktion set_a() mรครคritelmรคn loppu.
  16. Kutsu main()-funktiota. Ohjelmalogiikka tulisi lisรคtรค tรคmรคn funktion runkoon.
  17. Luo ClassA esiintymรค ja anna sille nimi a.
  18. Kรคytรค yllรค olevaa luokkainstanssia ja funktiota set_a() mรครคrittรครคksesi muuttujalle a arvon 20.
  19. Tulostetaan tekstiรค konsoliin muuttujan a arvon rinnalle. Muuttujan a arvo saadaan kutsumalla get_a()-funktiota.
  20. Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
  21. Funktion main() rungon loppu.

Suojatut jรคsenet sijaitsevat yksityisen ja julkisen vรคlissรค, mikรค lisรครค yhden keskeisen periytymisominaisuuden.

Mikรค on suojattu luokka?

Suojatuiksi merkityillรค luokan jรคsenillรค on etuoikeus yksityisiksi merkittyihin verrattuna. Niitรค voidaan kรคyttรครค mรครคritellyn luokan funktioilla. Lisรคksi niihin pรครคsee kรคsiksi johdetuista luokista.

Esimerkki 3

#include <iostream>
using namespace std;
class ParentClass {
protected:
	int value;
};
class ChildClass : public ParentClass {
public:
	void setId(int x) {
		value = x;
	}
	void displayValue() {
	cout << "Value is: " << value << endl;
	}
};
int main() {
	ChildClass c;
	c.setId(21);
	c.displayValue();
	return 0;
}

lรคhtรถ:

C++ suojatun luokan jรคsenen esimerkin 3 tuloste

Tรคssรค on kuvakaappaus koodista:

C++ suojatun luokan periytyminen Esimerkki 3 koodi

Code Selitys:

  1. Sisรคllytรค iostream-otsikkotiedosto koodiimme kรคyttรครคksesi sen toimintoja.
  2. Sisรคllytรค std-nimiavaruus koodiimme kรคyttรครคksesi sen luokkia kutsumatta sitรค.
  3. Luo luokka nimeltรค ParentClass.
  4. Kรคytรค suojatun kรคyttรถoikeuden muokkaajaa merkitรคksesi luotava luokan jรคsen suojatuksi.
  5. Luo kokonaislukumuuttuja nimeltรค arvo.
  6. Luokan rungon loppu.
  7. Luo uusi luokka nimeltรค ChildClass, joka perii ParentClassin.
  8. Kรคytรค suojatun kรคyttรถoikeuden muokkaajaa merkitรคksesi luotava luokan jรคsen lapsiluokkien kรคytettรคvรคksi.
  9. Luo funktio nimeltรค setId(), joka ottaa yhden kokonaisluvun arvon x.
  10. Muuttujan x arvon mรครคrittรคminen muuttujan arvoon.
  11. Funktion setId() mรครคritelmรคn loppu.
  12. Luo funktio nimeltรค displayValue().
  13. Tulosta muuttujan arvo nimetty arvo konsoliin muun tekstin rinnalle.
  14. Funktion displayValue() rungon loppu.
  15. Luokan rungon loppu nimeltรค ChildClass.
  16. Kutsu main()-funktiota. Ohjelmalogiikka tulisi lisรคtรค tรคmรคn funktion runkoon.
  17. Luo ChildClass-esiintymรค ja anna sille nimi c.
  18. Kรคytรค yllรค olevaa luokkaesiintymรครค ja funktiota setId() mรครคrittรครคksesi muuttujalle x arvon 21.
  19. Kรคytรค yllรค olevaa luokkaesiintymรครค kutsuaksesi funktiota nimeltรค displayValue().
  20. Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
  21. Funktion main() rungon loppu.

Tiedon tallentamisen lisรคksi luokka ryhmittelee myรถs funktiot, jotka kรคsittelevรคt kyseistรค tietoa.

Luokan jรคsentoiminnot

Toiminnot auttavat meitรค kรคsittelemรครคn tietoja. Luokan jรคsenfunktiot voidaan mรครคrittรครค kahdella tavalla:

  • Luokan mรครคritelmรคn sisรคllรค
  • Luokan mรครคritelmรคn ulkopuolella

Jos funktio halutaan mรครคritellรค luokkamรครคrittelyn ulkopuolella, meidรคn on kรคytettรคvรค laajuuden resoluutiooperaattoria (::). Tรคhรคn tulee liittรครค luokan ja funktion nimet.

Esimerkki 4

#include <iostream>
#include <string>
using namespace std;
class Guru99
{
public:
	string tutorial_name;
	int id;
	void printname();
	void printid()
	{
		cout << "Tutorial id is: "<< id;
	}
};
void Guru99::printname()
{
	cout << "Tutorial name is: " << tutorial_name;
}
int main() {
	Guru99 guru99;
	guru99.tutorial_name = "C++";
	guru99.id = 1001;
	guru99.printname();
	cout << endl;
	guru99.printid();
	return 0;
}

lรคhtรถ:

C++ luokan jรคsenfunktiot Esimerkki 4 tuloste

Tรคssรค on kuvakaappaus koodista:

C++ luokan jรคsenfunktiot Esimerkki 4 koodi

Code Selitys:

  1. Sisรคllytรค iostream-otsikkotiedosto ohjelmaamme kรคyttรครคksesi sen toimintoja.
  2. Sisรคllytรค merkkijonootsikkotiedosto ohjelmaamme kรคyttรครคksesi sen toimintoja.
  3. Sisรคllytรค std-nimiavaruus koodiimme kรคyttรครคksesi sen luokkia kutsumatta sitรค.
  4. Luo luokka nimeltรค Guru99.
  5. Kรคytรค julkisen kรคyttรถoikeuden muokkaajaa merkitรคksesi luomamme luokan jรคsenet julkisesti saatavilla oleviksi.
  6. Luo merkkijonomuuttuja nimeltรค tutorial_name.
  7. Luo kokonaislukumuuttuja nimeltรค id.
  8. Luo funktio nimeltรค printname(). Tรคtรค funktiota ei ole mรครคritetty luokan mรครคritelmรคssรค.
  9. Luo funktio nimeltรค printid(). Tรคmรค funktio on mรครคritelty luokkamรครคritelmรคssรค. Sen runko on lisรคtty luokkamรครคritelmรครคn.
  10. Tulosta muuttujan id arvo muun tekstin rinnalle konsoliin. Huomaa, ettรค tรคmรค on lisรคtty printid()-funktion runkoon. Se suoritetaan vain, kun printid()-funktiota kutsutaan.
  11. Funktion printid() rungon loppu.
  12. Kurssin rungon loppu Guru99.
  13. Funktion printname() mรครคrittelyn alku.
  14. Tulosta muuttujan tutorial_name arvo konsoliin muun tekstin rinnalle. Huomaa, ettรค tรคmรค on lisรคtty printname()-funktion runkoon. Se suoritetaan vain, kun printname()-funktiota kutsutaan.
  15. Tulostusnimi()-funktion mรครคritelmรคn loppu.
  16. Kutsu main()-funktiota. Ohjelmalogiikka tulisi lisรคtรค tรคmรคn funktion runkoon.
  17. Luo luokan instanssi Guru99 ja antoi sille nimen guru99.
  18. Kรคytรค yllรค olevaa esiintymรครค arvon mรครคrittรคmiseen C++ muuttujaan tutorial_name.
  19. Kรคytรค guru99-instanssia mรครคrittรครคksesi arvon 1001 muuttujalle id.
  20. Kรคytรค ilmentymรครค guru99 kutsuaksesi funktiota printname() .
  21. Soita end (end line) -komento tulostaaksesi uuden tyhjรคn rivin konsoliin.
  22. Kรคytรค instanssia guru99 kutsuaksesi funktiota printid().
  23. Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
  24. Main()-funktion rungon loppu.

Kaksi erityistรค jรคsenfunktiota suoritetaan automaattisesti, kun objekti luodaan ja kun se tuhotaan.

Rakentajat ja tuhoajat

Mikรค on rakentaja?

Konstruktorit ovat erikoisfunktioita, jotka alustavat objekteja. C++ kerรครคjiรค kutsu konstruktoria luodessasi objektia. Konstruktorit auttavat arvojen mรครคrittรคmisessรค luokan jรคsenille. Tรคmรค tapahtuu tietenkin sen jรคlkeen, kun heille on varattu muistitilaa.

Mikรค on destruktori?

Destruktorit toisaalta auttavat tuhoamaan luokkaobjekteja.

Rakentajan nimen on oltava samanlainen kuin luokan nimi. Rakentajilla ei ole palautustyyppiรค.

Konstruktori voidaan mรครคrittรครค luokan rungon sisรคllรค tai ulkopuolella. Jos se mรครคritellรครคn luokan rungon ulkopuolella, se tulee mรครคrittรครค luokan nimellรค ja laajuuden resoluutiooperaattorilla (::).

Esimerkki 5

#include <iostream>  
using namespace std;
class ClassA {
public:
	ClassA() {
		cout << "Class constructor called"<<endl;
	}
	~ClassA() {
		cout << "Class destructor called"<<endl;
	}
};

int main() {
	ClassA a;
	int p = 1;
		if (p) {
			ClassA b; 
		}   
}

lรคhtรถ:

C++ konstruktorin ja destruktorin esimerkki 5 tuloste

Tรคssรค on kuvakaappaus koodista:

C++ konstruktorin ja destruktorin esimerkki 5 koodi

Code Selitys:

  1. Sisรคllytรค iostream-otsikkotiedosto koodiin kรคyttรครคksesi sen toimintoja.
  2. Sisรคllytรค std-nimiavaruus koodiimme kรคyttรครคksesi sen luokkia kutsumatta sitรค.
  3. Luo luokka nimeltรค ClassA.
  4. Kรคytรค julkisen kรคyttรถoikeuden muokkaajaa merkitรคksesi jรคsen, jonka olemme luomassa, julkisesti kรคytettรคvรคksi.
  5. Luo luokalle konstruktori.
  6. Konsoliin tulostettava teksti, kun konstruktoria kutsutaan. Loppu on a C++ avainsana, joka tarkoittaa loppuriviรค. Se siirtรครค hiiren osoittimen seuraavalle riville.
  7. Luokkakonstruktorin rungon loppu.
  8. Luo luokalle tuhoaja.
  9. Konsoliin tulostettava teksti, kun destructoria kutsutaan. Loppu on a C++ avainsana, joka tarkoittaa loppuriviรค. Se siirtรครค hiiren osoittimen seuraavalle riville.
  10. Tuhoajan rungon pรครค.
  11. Luokan rungon loppu.
  12. Kutsu main()-funktiota. Ohjelmalogiikka tulisi lisรคtรค tรคmรคn funktion runkoon.
  13. Luo luokkaobjekti ja anna sille nimi a. Rakentaja kutsutaan.
  14. Luo kokonaislukumuuttuja nimeltรค p ja anna sille arvo 1.
  15. Luo if-lauselohko kรคyttรคmรคllรค muuttujaa p.
  16. Luo luokkaobjekti ja anna sille nimi b. Tuhoaja kutsutaan.
  17. if-lauseen rungon loppu.
  18. Main()-funktion rungon loppu.

UKK

Luokka on kรคyttรคjรคn mรครคrittรคmรค suunnitelma, joka ryhmittelee datajรคsenet ja jรคsenfunktiot yhdeksi tyypiksi. Objekti on kyseisestรค luokasta rakennettu konkreettinen instanssi, joka sisรคltรครค oman kopionsa suunnitelman kuvaamasta datasta.

Tรคrkein ero on oletusarvoinen kรคyttรถoikeus: luokan jรคsenet ovat oletusarvoisesti yksityisiรค, kun taas luokan jรคsenet rakenne ovat oletusarvoisesti julkisia. Molemmat tukevat periytymistรค, konstruktoreita ja kapselointia C++.

C++ tukee kolmea yleistรค konstruktorityyppiรค: oletuskonstruktoria ilman argumentteja, parametrisoitua konstruktoria, joka hyvรคksyy arvot jรคsenten alustamiseen, ja kopiokonstruktoria, joka luo uuden objektin saman luokan olemassa olevasta objektista.

Friend-funktio on luokan ulkopuolinen funktio, jolle on myรถnnetty pรครคsy luokan yksityisiin ja suojattuihin jรคseniin. Se esitellรครคn luokan sisรคllรค friend-avainsanalla, mutta mรครคritellรครคn sen ulkopuolella kuten tavallinen funktio.

this-osoitin on implisiittinen osoitin, joka on kรคytettรคvissรค jokaisessa ei-staattisessa jรคsenfunktiossa. Se osoittaa funktion kรคynnistรคneeseen objektiin, jolloin koodi voi viitata kyseisen objektin omiin jรคseniin ja ratkaista parametrien ja datajรคsenten vรคlisiรค nimeรคmisristiriitoja.

Kapselointi niputtaa datan ja sitรค kรคsittelevรคt funktiot yhden luokan sisรคlle ja piilottaa sitten sisรคiset tiedot yksityisten jรคsenten avulla. Julkiset jรคsenfunktiot paljastavat hallitun rajapinnan, joka suojaa dataa vahingossa tapahtuvalta tai luvattomalta kรคytรถltรค.

Kyllรค. Tekoรคlykoodausavustajat muuttavat lyhyen kehotteen tai kommentin tyรถluokkamรครคritelmiksi, mukaan lukien datajรคsenet, kรคyttรถoikeusmรครคrittelijรคt, konstruktorit ja jรคsenfunktiot. Tarkista aina luodut kรคyttรถoikeustasot ja alustuslogiikka ennen koodin kรครคntรคmistรค.

Kyllรค. GitHub Copilot ehdottaa luokkamรครคrittelyjรค, konstruktoreita, getter-funktioita ja setter-funktioita kirjoittaessasi. Se kรคsittelee toistuvat mallilausekkeet nopeasti, vaikka sinun tulisi silti varmistaa jรคsenten kรคyttรถoikeudet, konstruktorin logiikka ja objektien kรคyttรถ ennen rakentamista.

Tiivistรค tรคmรค viesti seuraavasti: