Pojam parcijalne klase
1. Uvod
U C# programiranju, klasa može biti veoma velika i složena, sa mnogo metoda, svojstava i događaja.
Da bi kod bio pregledniji i lakši za održavanje, C# omogućava da se jedna klasa podeli na više delova u različitim fajlovima ili delovima koda.
Takve klase se nazivaju parcijalne klase (partial classes).
2. Šta je parcijalna klasa
-
Parcijalna klasa je klasa čija je definicija podeljena na dva ili više delova.
-
Svi delovi klase moraju imati isti naziv klase i moraju biti označeni ključnom rečju
partial. -
Kompajler pri kompajliranju spaja sve delove u jednu klasu.
-
Ovo omogućava timski rad i razdvajanje koda po funkcionalnostima.
Pravila:
-
Svi delovi klase moraju biti u istom namespace-u.
-
Svi delovi klase moraju imati isti modifikator pristupa (npr.
public). -
Svaka parcijalna klasa može imati svoje konstruktore, metode i svojstva.
3. Sintaksa i primer
Primer 1 – Parcijalna klasa u istom fajlu
// Deo 1
public partial class Zivotinja
{
public string Ime;
public int Starost;
public void IspisOsnovno()
{
Console.WriteLine("Ime: " + Ime + ", Starost: " + Starost);
}
}
// Deo 2
public partial class Zivotinja
{
public string Rasa;
public void IspisDetalji()
{
Console.WriteLine("Rasa: " + Rasa);
}
}
// Main
Zivotinja z = new Zivotinja();
z.Ime = "Rex";
z.Starost = 5;
z.Rasa = "Labrador";
z.IspisOsnovno();
z.IspisDetalji();
Rezultat u konzoli:
Ime: Rex, Starost: 5
Rasa: Labrador
Primer 2 – Parcijalna klasa u različitim fajlovima
-
Zivotinja_Podaci.cs
public partial class Zivotinja
{
public string Ime;
public int Starost;
}
-
Zivotinja_Metode.cs
public partial class Zivotinja
{
public void Ispis()
{
Console.WriteLine("Ime: " + Ime + ", Starost: " +Starost);
}
}
-
U
Mainmetodi:
Zivotinja z = new Zivotinja();
z.Ime = "Luna";
z.Starost = 3;
z.Ispis();
Napomena: Parcijalne klase su posebno korisne u Windows Forms projektima, gde dizajner generiše deo koda klase forme, a programer piše svoj deo u drugom fajlu.
4. Kada koristiti parcijalne klase
-
Kada je klasa velika i složena.
-
Kada se radi timskim radom, kako bi više programera moglo raditi na istom objektu.
-
Kada se koristi automatski generisan kod (npr. Windows Forms, Entity Framework) i želi se dodati sopstveni kod bez menjanja generisanih fajlova.
5. Vežba
-
Kreirati parcijalnu klasu
Knjigau dva dela.-
Deo 1: polja
NasloviAutor -
Deo 2: polje
Godinai metodaIspisPodataka()
-
-
U
Mainmetodi napraviti objekat klaseKnjiga, postaviti sve podatke i pozvati metodu za ispis.
Zadaci za vežbanje kod kuće (bez rešenja)
Zadatak 1 – Parcijalna klasa Automobil
-
Deo 1: polja
Marka,Model -
Deo 2: polje
Godistei metodaIspisPodataka() -
Napraviti 2 automobila i ispisati podatke.
Zadatak 2 – Parcijalna klasa Student
-
Deo 1: polja
Ime,Prezime -
Deo 2: polja
SmeriGodinaStudijai metodaPrikaziStudenta() -
Napraviti 3 studenta i ispisati podatke.
Zadatak 3 – Parcijalna klasa Film
-
Deo 1: polja
Naslov,Reziser -
Deo 2: polje
Godinai metodaIspisFilma() -
Napraviti 2 filma i ispisati podatke.
Zadatak 4 – Parcijalna klasa Pas
-
Deo 1: polja
Ime,Rasa -
Deo 2: polje
Starosti metodaIspisPsa() -
Napraviti 3 psa i ispisati podatke.
Zadatak 5 – Parcijalna klasa Proizvod
-
Deo 1: polja
Naziv,Cena -
Deo 2: polje
Kolicinai metodaIspisProizvoda() -
Napraviti 2 proizvoda i ispisati podatke.