Elmagyaráznátok a class-ok használatát?
"Az osztályok
A .NET leggyakoribb típusa a class, amit magyarul osztálynak szoktunk fordítani. Egy osztály nem más, mint egy sablon objektumok létrehozásához, amely tartalmazza az objektum adatainak leírását és a rajtuk elvégzendő műveleteket is. Az osztályok egyik legfontosabb feladata elfedni a mögöttük rejlő adatok fizikai szerkezetét, oly módon, hogy csak az adatokon végezhető műveleteket teszi láthatóvá. "
forrás: [link]
De ha már ez kérdéses, akkor jobb azzal kezdeni, mi az objektum orientáltság...
Az osztályok egy feladat elvégzésére szolgáló függvények (metódusok) és változók (mezők, tulajdonságok) összessége. Erre a tankos példa nagyon jó volt. Azonban az OOP-nek nem csak ennyi feladata van. Az OOP egyik alapelve az öröklődés.
Legyen nekünk egy jármű osztályunk. Ez az osztály tartalmazza a kerekek számát, maximális sebességét (tulajdonság vagy mező), és olyan metódusokat, amik a jármű viselkedését befolyásolja, pl. elindulás, megállás.
Ez kódilag valami ilyesmi:
public class Vehicle {
public int NumberOfWheels;
public int MaxSpeed;
public void Start(int Speed) {
return;
}
public void Stop() {
return;
}
}
Ahhoz, hogy létrehozzunk egy tankot, már felhasználhatjuk a Vehicle osztályunkat, mivel a tanknak is vannak "kerekei" (pontosabban lánctalpai, de ez most lényegtelen), max. sebessége, és el tud indulni, valamint megállni, így ezeket már nem kell újra leprogramoznunk. Tehát ki kell egészítenünk egy löveggel és annak a tulajdonságaival.
public class Tank : Vehicle {
public int CannonAngle;
public int Ammo;
public void Shoot() {
return;
}
}
Képzeljünk el egy olyan osztályt, ami fájlokat kezel. Fájlokat be lehet tölteni memóriából, lemezről vagy az internetről. Mindegyikhez más-más programkód kell. A túlterhelés, vagy többalakúság lényege, hogy több függvény szerepel egyforma néven az osztályban, csak más paraméterekkel.
public class FileRdr {
public void Load(string Filename) {
return;
}
public void Load(Stream File) {
return;
}
}
Egy másik alapelv az egységbezárás. Ez tulajdonképpen annyit jelent, hogy az azonos feladatú metódusokat, mezőket és tulajdonságokat egy osztályba kell zárni. Meg lehet határozni, hogy a programozó mely függvényeket és mely mezőket használhatja, a többit pedig el lehet rejteni előle (public, protected, private kulcsszavakkal).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!