programozás magic

A legtöbb technológiák, amelyek magukban programozás, első pillantásra úgy tűnik hihetetlen mágikus, sőt létre a határfelületen a matematika és az elektronika. Mindkét összetevő külön-külön - teljesen felesleges.

Anélkül, hogy a szoftver a legnagyobb teljesítményű számítógép - csak egy halom szemét villogó és zümmögő. Hasonlóképpen, a program - ki lehet nyomtatni, és még felvenni egy golyóstoll. Talán még a jegyzetek jól néz ki, de számítógép nélkül maradnak csupán értelmetlen rajzaival.

De míg mi otthonunk PC, dolgozó bináris kód, a program csak a nagyobb és csak abban az esetben bonyolultabbá válik. Tehát nézzük meg őket - hidd el, ez hasznos.

Az objektum-orientált programozás - a legerősebb fejlesztési eszköz. Írásban a modern nyelvek sokkal egyszerűbb, mint például a C-t annak érdekében, hogy a felhasználó számára, hogy egy egész szám, és nem egy frakció, amely a „cool” az egyenletben, ki kellett találnom egy kicsit. És ezt írtam:

Mondjuk van néhány változó y, ahol elhaladtunk egy frakcionális érték:
float y = 2,0
Ellenőrizze a teljes ez a szám akár nem van egyszerű eszközzel. Ehhez létre egy üres változó x, inicializálás nulla és írjuk be az alábbi kódot:
úszó egy = y;
int x = 0;
X = (int) y;
y - = x;

ha (x == 0) printf ( "A változó értéke.", x);
>
mást printf ( "A változó% f", a);
>

Sikerült egy nagyon egyszerű dolog - benyújtott adatokat az egész elmét, majd elvették a lövés. Aztán írt egy olyan állapot, amely a távollétében a valódi egyensúlyt a felhasználó látni fogja, ahelyett, hogy egy egész frakció. Ez a kis „hack” működik, de nem minden esetben kéznél van egy egyszerű és hatékony megoldást.

Az objektum-orientált programozás szállított ezeket az erőfeszítéseket. Általában mindig van a legtöbb bemutatott technológiák kész formában. Például, a Java nyelv könnyen lehet ellenőrizni a helyességét a beviteli mód parseInt osztály Egész java.lang csomagot. Ha belép egy nem egész, vagy akár semmit, a program hibát generál (kivétel), hogy a programozónak kell megfelelően kezelni -, hogy az „hibázik”, hogy adja át az vissza a beviteli ablakot, vagy akár neki néhány tárgyalás fut. De valójában, mi nem beszélünk, hogy ma, de a „mágikus”.

Egy igazi csoda a PFSZ az a tény, hogy a program nem tud írni egy végtelen jegyzett, mint a C, és feldaraboljuk fájlok és blokkolja - osztályok és metódusok. Ez csak jó. Végtére is, az azonos osztályú tudjuk tárolni elindítja a fő funkciója, más - az alkalmazott programunk, a harmadik - az adatok vagy felület az adatbázis kapcsolatot. De hogyan valósíthatjuk meg a mágia? Ne aggódjon - ma jön össze.
Mi fog létrehozni, például osztály OneClass:
public class OneClass>
És rakjuk adataink - több változó.
public class OneClass int x = 9;
int y = 10;
int Z = 11;
>

Alapértelmezésben ezek változók Packet Access -. Azaz - minden osztály (fájlok) a mi csomag kihasználják őket - másolni, módosítani, felülírás. De hogyan csinálják? Ez nagyon egyszerű -, hogy hozzon létre egy példányt az osztály OneClass másik osztályba vagy azt követően az eljárás fő.
OneClass Cl = új OneClass ();

Most lehetősége van arra, hogy az összes módszer és a mezők egy osztály (az ún mi változók írják után azonnal az osztály nevét, és így látható az egész OneClass). Másolja azokat a maga számára is -, hogy saját változókat és átutaljuk a kívánt értékeket:
public class TwoClass OneClass cl = new OneClass ();
int x = cl.x;
int y = cl.y;
int Z = cl.z;
>

Ne félj, az azonos nevű - a többi osztály, hogy nem keverjük össze őket az eredeti. És most az adatokat az osztály OneClass.

De nagyon óvatosnak kell lennünk velük. Végtére is, mi nem csak tudja, hogy ki őket az első osztályú, hanem fel az értéküket. És hát, ha mi csináljuk szándékosan. És ha csak? Zavar. Mit kell tenni? Mágikus kell védeni a hibákat.

Ez, persze, megy a hites Harry Potter és a "Lord of the Rings." Azt akarom mondani, hogy a csodálatos technikák - get és set metódusok.

Az utolsó fejezetben megtudtuk, hogy ha adataink vannak egy másik osztály - ez nem jó. Végtére is, mi is véletlenül megváltoztat (vagy valaki más) azok használatát, akkor hozza létre a saját osztálya és az írás is van a megfelelő utasításokat. És a célokat, amelyekre az osztály már lelkiismeretesen létre, kaphat olyan paramétereket, amelyek viszont egy valóságos orkokat „Lord of the Rings.”

Ennek elkerülése érdekében tesszük ezt meg: minden egyes a változó azonosító, amely megtiltja annak használatát mindenhol, kivéve a saját kategóriájában.
privát x = 9;
magán y = 10;
privát z = 11;

Nos, senki sem adatainkból nem lehet változtatni. Ezt hívják beágyazás. Időközben ez számunkra - a varázslat. Próbáljuk megérteni.
Ahhoz, hogy hozzon létre egy új objektumot, magunkat, a többi programozó vagy más részeinek a program továbbra is szükség van, hogy az adatokat a mi osztályban. És mit csinál? Elvégre vannak zárva? Ez az esetek és szükség getter. De ez a mágikus hozunk létre magunk által írt összes logikája ezeket a módszereket. Get - azt jelenti: "olvasni". Ahhoz, hogy olvassa el a megállapítások egy másik osztályba, akkor be kell másolni őket, és adja át.

A class OneClass írási, például, az x változó-getter módszer a következő:
public int getX () visszatérő x;
>
Az osztályban TwoClass hívja ezt a módszert:
class Cl = új osztály ();
cl. getX ();
Mi lehet nyomtatni a kifejezés és annak biztosítása, hogy érkezik, a változó.
System.out.println (CL getX ().);
Tudja rögzíteni és valami szükséges egy osztály változó. Ehhez a szetter.
public void sety (newY) y = newY;
>
Caption, magán int y = 10; a helyükön maradnak. De, hogy a mélybe egy osztály csak az érték, mely meg van írva newY. Magic - és így tovább!
A alkotóinak tudjuk például, hogy könnyen „fegyelem” a felhasználó, miközben egy nullánál nagyobb szám, és kisebb, mint 10. Ehhez meg kell írni egy egyszerű logika a szetter:
public void sety (newY) if (newY> 0 newY<10) y = newY;
>

Designer - egy mágikus egység a PFSZ. Látható, amikor egy új objektum osztály - például OneClass Cl = új OneClass (); A zárójelek csak bujkál a kivitelező. Azonban a mi esetünkben nincs paramétereket automatikusan létrejön. Ez azt jelenti, hogy a változók létesítmény lehet akárhány fajta. De ha írunk egy kivitelező, a tárgy nem csak kötni bizonyos paraméterek nem lehet változtatni, de azt is, hogy a kezdeti értékekhez képest.
Tegyük szerencsejáték egység „sárkány” a mi elképzelésünk az, hogy a sebesség, repülési magasság, a tartózkodási idő a levegőben, és több egység elvont erők. Készítsen egy megfelelő osztály és a kivitelező:

public class Sárkány Sárkány () int sebesség = 120;
int flight_altitude = 1000;
int timeAir = 7;
int teljesítmény = 10;
>
>

Tehát van egy sárkány, amely képes versenyezni sebesség 120 kilométer per órás magasságban 1000 méter hét perc alatt! Ezen kívül van 10 egység erő, ami azt jelenti, hogy ellenfele legyen nagyon hosszú harcot vele.
Ilyen egyszerű hoztunk létre a saját sárkány és inicializálása igazán varázslatos tulajdonságokkal. Add hozzá semmi sem lehetetlen, mintha egy konstruktor paraméterekkel van írva, nemhogy nem jön létre. De ezek a tulajdonságok, amelyek az általunk adott a sárkány, hogy lehetetlen. Most mi tervező létrehozhat egész hordái sárkányok, amely törli az utat számunkra, hogy kincset. Csodák!

De ez - nem minden. És a tervezők, és módszerek által támogatott úgynevezett torlódás - minél több varázslat. Tegyük fel, hogy szeretnénk létrehozni a mi Sárkány osztály nem csak a sárkány, hanem a „dühödt”. Nem lesz a magasság és a repülési idő - és a sebesség és akaraterő. A második konstruktor:
Sárkány (int v, int c)>

Egy osztály, ahol a fő módszer lesz található összes szerencsejáték egység inicializálása új változók más értékek, és add hozzá egy új objektumot:
int sebesség = 60;
int teljesítmény = 7;
Sárkány berserker = new Sárkány (sebesség, teljesítmény);

Up! Van egy dühödt!
Egy másik kis csoda „a táplálékot.” Ha van egy osztályban már mezőket x, y, z, akkor annak kivitelező vagy módszer, mi is jól létrehozni ugyanazt a változók ugyanazokat a neveket, és adja át őket, hogy a mezők értékeit. És ne keverjük össze a változókat. Csak be kell szúrni előttük egy kis szó egy pont, mint ez: ez.
int x = 4;
int y = 6;
int Z = 12;
Sárkány (int v, int c, int z) this.x = x;
this.y = y;
this.z = Z;
>

A programozás, tele dolog, hogy lehet nevezni, ez tényleg csodálatos, ha nem mágikus - pontosan. És ezek a csodák elég képes megtanulni mindenkinek.

Nyomtatható változat

Kapcsolódó cikkek