1) absztrakt adattípus
Abstract Type 2 borító fogalmak - az adatszolgáltatás és a tranzakciókat. hogy tudod, hogy olyan adatokat tartalmaz. Példák az absztrakt típusok in C ++ - tömb, egy sorban sorban. Az alapötlet razdeleniinesuschestvennyh végrehajtásának részleteit rutinok és lényeges tulajdonságaik korrigálására annak használatát. Ez az elkülönítés lehet kifejezni egy speciális „felület” - egy sor olyan funkcióval is hozzáférhet struktúrákat; - az adat, amely jelenti az „absztrakció”.
Klass- határozza polzovatelemtip. Osztály - egy típust. helyett az adat objektum, és minden tárgy klassaimeet egy másolatot az adatok - az osztály tagjai.
Abstract klass- osztályt, amely a programozó nem szándékozik létrehozni egy objektumot. CÉL absztrakt adattípus - használata JHVH AS BAZOVOGODLYA későbbi öröklődés.
Absztrakt osztály a következő: egy vagy több feladatának nyilvánítják tisztán virtuális: TE Testi funkciók úgy definiáljuk, mint 0 (SAY CHTOINITSIALIZATOR = 0)
Akkor nyilvánítja a mutatót az absztrakt osztály.
Klass- konkrét tárgyak, amelyek lehet megvalósítani.
osztály fogalmak küldetése, hogy olyan eszközöket a programozó, hogy új típusokat. ugyanolyan kényelmes kezelni, mint azt a beépített típusok. Az ideális típusú felhasználó által definiált módon használni nem lehet más, mint a beépített típusok, csak az utat építeni. Tipest konkrét ábrázolása egy fogalom (fogalom). Az új típusú jön létre annak érdekében, hogy egy különleges és egyedi fogalmának, ami nem helyes, és látszólag között a beépített típusok nem reagálnak. Jól megválasztott felhasználó által definiált típusok, hogy a program több tiszta és rövid. Azt is lehetővé teszi, hogy a fordító fel az illegális tárgyak használata. amelyek egyébként észrevétlenek maradhassanak, amíg tesztprogram. A definíció egy új típusú az alapötlet - külön a nem alapvető fontosságú podrobnostirealizatsii (például egy adatformátum tárolására használt objektum típusát) a tulajdonságok, amelyek nélkülözhetetlenek a helyes használata (például a funkciók listáját, amelyek hozzáférhetnek az adatokhoz). Az ilyen elválasztás lehet leírni úgy, hogy a munkát a adatstruktúrát, valamint belső adminisztratív rutinok révén végezzük egy dedikált interfészen (csatornázott).
Adatok absztrakció az osztályteremben - az, amikor az ügyfél tudja klassane végrehajtását ebben az osztályban. (Class Client - része olyan program, amely ebben az osztályban).
Az osztály áll adatelemek és funkcionális elemeket. Ezek az elemek klassaNE kaphat a kezdeti érték a szervezetben egy osztály amennyiben azokat (de csak akkor, ha a tervező)!
Hozzáférés az osztály tárgyak korlátozni lehet olyan funkciót, amelyek leírása részeként ebben az osztályban. Az ilyen függvények funkciót tagok vagy módszerek. Úgy hívják válaszul SOOBSCHENIYAPOSYLAEMYE OBEKTU.Obekty klassasozdayutsyaiinitsializiruyutsyafunktsiyami tagjai, kifejezetten erre a célra leírt. Ezek a funkciók az úgynevezett konstruktőrök. Tag funkció lehet leírni különleges módon a „tisztítás” az egyes osztályok a tárgy a pusztulástól. Egy ilyen funkciót nevezzük destructor. Ahhoz, hogy osztályt. akkor létre kell hozni tárgyakat ennek az osztálynak. és olyan tárgyakat lehet létrehozni, ameddig szükséges.
Végrehajtása az osztály - ez egy zárt osztály elemek + OPISANIEOTKRYTYHFUNKTSY elemek.
Class végrehajtás modifitsirovatne érintő tagjait. A nevét főnevek a rendszer leírását felelős a rendelkezésre álló osztály.
Hozzáférés elemei osztály:
MŰVELET (.) Kifejezés egy olyan eleme egy változó nevét, vagy egy linket egy tárgyat.
MŰKÖDÉS (->) megközelíthető egy mutatót az objektum. (Imya_obekta-> elem ekvivalens (* object_name) .element).
int hónap, nap, év;
void set (int, int, int);
Nyilvánított adatokat poslepublic amíg a következő azonosító - elérhető bármely kezelési program az objektumot. Tag public class osztja a testet két részre. Nevek az első, zárt részén az egyetlen tagja funkciókat lehet használni. Másodszor, a nyitott része. az interfész az osztály objektum.
Nyilvánított adatokat posleprivate amíg a következő azonosító - dostupnyTOLKO funkció, tagjai és barátai az osztályban. Ez a hozzáférési mód, hogy az osztály alapértelmezés szerint (azaz, ha nincs más hozzáférési előírást) .Funktsii tagjai: Olvasd személyes adatok, beállítja az értéket a személyes adatok, végre osztály képességeit, Kiegészítő
Bejelenti különleges módon (az osztályban szervezetben). Ha a függvény távú leírja VNEtela osztály alkalmazandó művelet hatókörét felbontású operátor (.) Kötődik az osztály nevét az elem nevét. Tag funkciókat deystviyaKLASS területen, a nem tagok-fájlt. Egyes műveletek tagjának kell lennie. konstruktor, destruktor, és a virtuális függvények. Az eljárás, amely megváltoztatja az állam egy objektum tagjának kell lennie, és nem a másik. Ha azt szeretnénk, hogy imetneyavnoe átalakítás minden operandusok működését, felismerve ezt a funkciót bytdrugom, és nem tagja.
Ezeket nevezhetjük csak egy speciális peremennoysootvetstvuyuschego a szokásos szintaxis való hozzáférés az osztályon.
A funkciók tagja az objektum tagjai. amelyre nevezték, akkor nézze közvetlenül.
Tervező. A függvény konstrukciók az értéke az ilyen típusú. ez az úgynevezett konstruktor. A kivitelező által elismert tény, hogy ugyanaz a neve, mint az osztálynak is.
DESIGNER SEMMI VOZVRASchAETKonstruktor automatikusan hívja.
Ha egy osztály van konstruktora, minden tárgy ennek az osztálynak indítja. Ha a tervező szüksége paramétereket, akkor meg kell adni: mai dátum = date (23,6,1983)
Ez gyakran jó, hogy többféle módon inicializálni osztály objektum. Ez a megközelítés szükséges, ha azt szeretnénk, hogy az összes használat az osztály. Ez úgy valósítható meg, kérve néhány tervezők. Amennyiben a tervezők igen eltérő típusait a paraméterei, a fordító az egyes használat lehet választani a megfelelőt.
int hónap, nap, év;
dátum (int, int, int); // nap hónap év
dátum (char *); // dátum a karakteres ábrázolása
dátum (int); // nap, hónap, év ma
dátum (); // az alapértelmezett dátum az aktuális
>; Ha az osztályban a kivitelező, ez az úgynevezett amikor létre
Objektumokat lehet létrehozni:
[1] Automatikus objektumot. Úgy jön létre minden alkalommal egy leírást
Ez a program végrehajtása során felmerült, és meg kell semmisíteni minden alkalommal
a kilépő a blokk, amelyben megjelenik; A tárgy is
Kialakításuk felhasználásával kifejezett kérelem
Tervező a kifejezés, akkor automatikusan ebben az esetben,
[2] A statikus objektumot. amelyet csak egyszer, amikor a program elindul, és
semmisíteni, annak befejezését;
[3] Az objektum a rendelkezésre álló memória. Ez hozza létre az új tranzakciós és
megsemmisült keresztül törlési műveletet;
[4] Az objektum tagja. mint más osztályba tárgyat vagy elemet a vektor.
Tagfüggvények túlterhelt anélkül, hogy kifejezetten a kulcsszó túlterhelés. osztály objektum nélkül konstruktőrök lehet inicializálni hozzárendelésével neki másik célja ennek az osztálynak. Lényegében van egy alapértelmezett konstruktor definiáljuk egy bitenkénti az objektum másolatának az azonos osztályban.
Destructor biztosítani kell megfelelő tisztítására az objektum típusát. Név destructor osztály X
X () ( "addíciós kivitelező")
Destructor semmit sem vesz, és visszatér semmit. destruktor túlterhelés nem megengedett. A destruktor neve automatikusan.
Inline- funkciót. tagfüggvény leírt (és nem csak hirdetések) az osztályban definíció úgy vélik, inline. Inline van szükség, ha egy csomó apró funkciókat. Tény, hogy mindenütt a hagyományos szerkezetét a program állt akármilyen hétköznapi használatát az adatszerkezetet, adott funkcióhoz. Ez csökkentheti a hatékonyságát ijesztő, mert a költségek egy függvényhívás (bár nem magas, összehasonlítva más nyelvek) még mindig sokkal nagyobb, mint egy pár memória hivatkozás szükséges funkció a test .Funktsii osztály tagjai újra kell összeállítani, ha fizetett módosításához vagy az osztályban leírást.
Friends vonás nem lehet tagja a két osztály. Funkció nem tagja, megkapta a hozzáférési jogot a zárt osztály részét képezi. másik osztályba nevezett (barát). A szolgáltatás egy másik osztály után leírja, hogyan barát. Minden funkció nincs szingularitás. amellett, hogy a hozzáférési jogokat a privát része az osztályban. Különösen barátja funkció nincs meg ez a mutató (kivéve, ha ez a tag függvény). Leírás barátja - a leírásban. Bevezeti a függvény nevét a legkülső programban hatókörrel és összehasonlítva más leírások ezt a nevet. Leírása a másik lehet elhelyezve, vagy egy zárt, vagy a nyitott része a leírása az osztály; ahol ez nem számít. A tag funkciója egy osztály együtt lehetnek.
barátja vektor többszörösen (mátrix, vektor);
barátja vektor többszörösen (mátrix, vektor);