Egy osztály a programozásban. A programozási nyelvek osztályai

A programozási osztály az adatok, mezők, függvények vagy módszerek csoportosítása. Ezeket mind változóknak, módszereknek vagy tagfüggvényeknek nevezzük. A program egy sor osztályból épül fel. Miután definiáltuk és megvalósítottuk, deklarálhatjuk az elemeit, hasonlóan az "int", "double" és "String"primitív típusú nyelvi változókhoz.

A programozási nyelv rövid története

A programozási nyelv rövid története

SIMULA volt az első tárgynyelv, szimulációk létrehozására használták. Alan Kay, aki akkoriban az Utahi Egyetemen tanult, tetszett a nyelv, mert a jövőben alkalmazható volt személyi számítógép a grafikusan orientált alkalmazások megvalósítása érdekében. Azt javasolta, hogy egy olyan nyelv, mint a SIMULA, jó módot kínál a kezdőknek a programok létrehozására, és megosztotta elképzeléseit a Xerox Parc-val. Az 1970-es évek elején egy Alan Key vezette csapat létrehozta az első Dynabook nevű PC-t egy objektumorientált Smalltalk nyelvvel, amely a mai napig létezik, bár nem széles körben használják kereskedelmi célokra.

Az ötlet objektum-orientált programozás (OOP) az 1970-es években fejlesztették ki, az 1980-as évek elején pedig Bjorn Stroustrup integrálta a C nyelv, amely ismertté vált "mint C ++" - az első objektumorientált nyelv (OOI), amelyet széles körben használnak kereskedelmi célokra.

Az 1990-es évek elején a Sun egy csoportja James Gosling vezetésével kifejlesztette a C++ egyszerűbb verzióját, az úgynevezett Java-t. Amely állítólag a video on demand alkalmazások nyelve volt. Ezt a Java programozási projektet a semmiből soha nem hajtották végre. A csoportot arra kényszerítették, hogy figyelmét a fejlesztésre összpontosítsa nyelv internetes alkalmazások. Az Internet fejlődésével egyre nagyobb népszerűségre tett szert, bár piaci penetrációja nyilvánvaló hatékonysága miatt meglehetősen visszafogott volt.

Objektum-orientált modellezés

Az osztályok és az objektumok az OOP néhány kulcsfontosságú építőeleme. Viselkedésmodellezésre és kapszulázásra használják. A való világban sok különálló, azonos típusú objektum található. Például több ezer azonos gyártmányú és modellű kerékpár van. Mindegyik egyetlen készletből épült, ezért egyenlő összetevőket tartalmaz. OO szempontból ez azt jelenti, hogy a kerékpár a kerékpárok néven ismert tárgyak osztályának példánya. Ez egyszerű. A programozási nyelvek osztálya egy konkrét objektumok létrehozásának terve. Például a kerékpár az egyik lehetséges megvalósítás.

Objektum-orientált modellezés

Előfordulhat, hogy a kerékpár osztály nem tartalmaz "fő" módszer. Annak a ténynek köszönhetően, hogy nem jelent teljes alkalmazást, hanem csak a kerékpárok tervét. Az új Kerékpárobjektumok létrehozásának és használatának felelőssége a programozás egy másik osztályába tartozik. A Bicycle Demo pedig az, amely két különálló kerékpár objektumot hoz létre, és felhívja módszereiket.

Kerékpáros hívások módszerei

Ennek a tesztnek a kimenete adja ki a két kerékpár végső sebességét és sebességfokozatát.

Alapvető kifejezések

A változó olyan név, amelynek értéke a program során változhat. A mellékelt információk szerint a használt nyelvtől függően 2 vagy több típusba sorolják őket. Általában 2 típusú osztályozás létezik:

  1. A primitív típusok változói. Ezeket egyetlen érték határozza meg-egész szám, lebegőpont, szimbólum vagy logikai jel.
  2. A referencia változók összetettebb információk nevei: egy adott osztály tömbjei vagy objektumai.

Az OOP legfontosabb pontja a helytelen információk megakadályozása, mivel a változókat nem megfelelően inicializálták. Az objektumok helyes azonosításához olyan metódus-konstruktort kell használni, amely automatikusan elindul minden objektum létrehozásakor. Fő küldetésük a memória fenntartása, az osztálytag változók inicializálása a programozásban. Nincs visszatérési értéke "void", és a nevük megegyezik a megosztott csoport nevével. Implicit argumentuma a létrehozandó objektum.

Osztályok és objektumok Pythonban

A Python az OO-ra utal programozási nyelvek, , ezáltal eltér az eljárásorientálttól, ahol a fő hangsúly a funkciókon van, objektumokon alapul. Az objektum olyan adatok és függvények halmaza, amelyek befolyásolják őket. Az osztály egy objektum tervrajza. Az osztálytermet úgy gondolhatja, mint egy ház vázlatát (prototípusát) . Minden részletet tartalmaz a padlókról, ajtókról, ablakokról és egyéb szerkezetekről. Ezen leírások alapján egy ház épül, amely tárgy.

Osztályok és objektumok Pythonban

Az objektum egyszerűen olyan adatok és módszerek (függvények) halmaza, amelyek ezekre az adatokra hatnak. Az osztály egy objektum tervrajza. Az osztálytermet úgy gondolhatja, mint egy ház vázlatát (prototípusát) . Minden részletet tartalmaz a padlókról, ajtókról, ablakokról és egyéb szerkezetekről. Ezen leírások alapján egy ház épül, amely tárgy.

Mivel sok ház készíthető a leírásból, sok objektumot lehet létrehozni egy csoportból. Ezt egy példánynak is nevezik. Mi van a végén? A folyamat bemutatja az osztálypéldány fogalmát és annak létrehozását. Ahogy a függvénydefiníciók a "def" kulcsszóval kezdődnek, a Python az "osztály"használatával határoz meg egy csoportot. Az első sor az úgynevezett" docstring", és egy rövid leírást az osztály.

Az osztály létrehoz egy új helyi névtér, amelyben minden attribútuma meg van határozva, lehetnek adatok vagy függvények. Különleges is van, amely kettős aláhúzással kezdődik (__). Például a"__ doc _ _ " ennek az osztálynak a dokumentumláncát adja meg a programozásban.

Amint meg van határozva, egy új, azonos nevű objektum jön létre. Ez lehetővé teszi a különböző attribútumok elérését, valamint új objektumok létrehozását ebben az osztályban.

Az osztály új objektumai

Kulcsszó "osztály"

A Python egy nagyszerű nyelv, amely támogatja az OOP-t, egy osztály telepítésére szolgál. Számos előnyt kínál más nyelvekkel szemben Java, C++ vagy R. Ez egy dinamikus nyelv magas szintű adattípusokkal, így a fejlesztés sokkal gyorsabb, mint a Java vagy a C esetén ++. A programozónak nem kell deklarálnia a változók és argumentumok típusát. Ez megkönnyíti a kezdők számára a Python megértését és megtanulását, kódja olvashatóbb és intuitívabb.

Osztály meghatározásához a Pythonban használhatja az "osztály" kulcsszót, amelyet egy név és egy kettőspont követ. Belül a"__ init _ _ "módszert kell meghatározni a "def". Ez egy inicializáló, amelyet később objektumok létrehozására lehet használni, mindig jelen kell lennie. Ez hasonló a Java konstruktorhoz.

Egy" én " argumentumra van szükség, amely magára az objektumra utal. A módszeren belül a "pass" kulcsszót használják, a helyes behúzást alkalmazzák. A Pythonban az " Self "egyenértékű a C++ vagy a Java osztályok" this " - jével. Ebben az esetben alapvetően üres "kutya" van, de még nincs tárgy. Az osztály pontos specifikációkkal rendelkezik, például tervvel vagy sablonnal. Létrehoznak egy osztályszerződést.

Bontás megtekintése

Az osztály két részre osztható:

  1. Az osztály fejléc, amely a következőkből áll "class kulcsszó" és a hozzá rendelt név. A programozási nyelvek nevei azonosítóként is ismertek.
  2. Egy test, amely egy pár nyitó / záró hullámos zárójelből áll, köztük elemekkel.

Itt van egy sablon az osztály forráskódjához:

osztály

{

...

}

Amikor egy osztály van írva, akkor helyébe a neve. A test a következőkből áll egy vagy több elem közül a karakterlánc tetszőleges számú előző részt jelent. Különösen, "class kulcsszó" kell kezdeni az első oszlop a sor, majd a többi fejléc információ-az azonosító a legegyszerűbb esetben.

Egy nyitott hullámos zárójel határolja a fejlécet, és elindítja az osztály törzsét. Egyes programozók szeretik a sor végére helyezni, de a legtöbbnek külön sorban tetszik. A hullámos konzol korlátozza az osztály testét. A szokásos gyakorlat az, hogy a záró zárójelet külön-külön helyezzük az oszlopba.

Elemek gyűjteménye

Az osztálytest tartalma elemek gyűjteményéből áll. A mezőknek nevezett változók tagjai és az általa készített részek, amelyeket eljárásoknak is nevezett módszerek jelölnek.

A test tartalmát legalább két oszlopba kell behúzni. Sok programozó egyszerre négy oszlopot készít nekik, hogy megkönnyítsék a forráskód olvasását. A mennyiség nem számít, de meg kell egyeznie a kiválasztott összeggel.

Van még egy szabály, amelyet be kell tartani: az osztályazonosítóknak nagybetűvel kell kezdődniük, akárcsak minden új szó benne.

Az osztályok elemekből állnak. A tagok mezők vagy módszerek. Minden szoftvernek rendelkeznie kell egy speciális "main" nevű módszerrel, ha kombinálja a forráskódot, akkor egy sablont kap egy minimális alkalmazáshoz.

Ez egy de facto szabvány, ahol a nevek nagybetűvel kezdődnek, valamint további szavak benne. Például: a MyClass megfelelő, de a MyClass és a Myclass nem. , az osztályazonosítónak annak a fájlnak a nevének is kell lennie, amelybe a forráskódot beírják. Kiterjesztéssel kell rendelkeznie ".java".

Kulcsszavak

Az osztály kulcsszavak a Java-ban a nyelv alapvető építőelemeként fenntartott szavak. Nem használhatja őket a létrehozott objektumok nevéhez. Mint például az osztályok, mezők és metódusok azonosítói. A fordító felismeri ezeket a szavakat, és kezeli őket, mint különleges.

Kulcsszavak

Amikor egy Java alkalmazás fut, a" java " parancsot használja, amely elindítja a JVM-et, és meghatározza a végrehajtáshoz szükséges osztályfájlt. A folyamat egy speciális módszerrel kezdődik, amelyet a felhasználó az alkalmazás "fő" módszereként határoz meg. Ez az egyezmény a Java programozás hagyománya a semmiből, örökölt " C ".

A "main" () kimenő kód mindig így néz ki:

nyilvános statikus void main (String [] azonosító)

{

...

}

A "public" és a "static" kulcs, mint speciális módosítók, a "main" megtalálásához megtalálhatók és rendelkezésre állnak. Az azonosító bármi lehet, de nagyrészt-a szabvány az "arg" nevet használja, amely az argumentumok rövidítése.

Java class constructor

"Osztály" lehet érteni, mint egy prototípus, amely szabályozza a változók és módszerek közös egy adott típusú példány, meghatároz mindent, ami jellemzi, és létrehozhat egy vagy több példány. Meghatározza változók és módszerek közös példányok az ilyen típusú által létrehozott osztály, de akkor minden lesz a saját értékeit: sablon, szín és recept.

A Java-ban először egy osztály jön létre, mielőtt példányokat lehet létrehozni. Az objektum az osztály példányává válik. Attribútumokat és módszereket tartalmaz. Létrehozásakor meg kell adnia az attribútumok típusait, módszereit, funkcióit és nevét, valamint az általuk használt adattípust, neveket és egyéb paramétereket.

Az alapszerkezet így néz ki.

Alapvető osztályszerkezet Java-ban

A JavaScriptet a "MyClass" osztály nevével hozták létre, amely összesen három attribútummal rendelkezik, és mindegyik privát: "String", "int" és "float".

Határérték változó

C Tárolási osztályokat használnak egy változó funkcióinak leírására. Ezek elsősorban a hatókört, a láthatóságot és az élettartamot tartalmazzák, amelyek segítenek nyomon követni egy adott változó létezését a program végrehajtása során.

A C nyelv 4 tárolási osztályt használ. Pontosan:

  1. Automatikus beállítás alapértelmezés szerint a C függvényben vagy osztályblokkban deklarált összes változóra. Ezért az "auto" kulcsszót ritkán használják programok írásakor C. Az automatikus változók csak abban a blokkban/függvényben érhetők el, amelyben deklarálták őket, nem pedig azokon kívül, amely meghatározza azok hatókörét. Természetesen a szülő blokk/függvények belsejében egymásba ágyazva érhetők el, amelyben az automatikus változót deklarálták. Ezek azonban a hatókörükön kívül is elérhetők, rámutatva egy nagyon pontos helyre a memóriában, ahol találhatók.
  2. Külső, ha a változót máshol definiálják, és nem ott, ahol használják. Általános szabály, hogy az érték egy blokkban van hozzárendelve, a másikban pedig felülírható. Így az "extern" nem más, mint egy érvényes értékkel inicializált globális változó, amelyben máshol történő felhasználásra deklarálják.
  3. Statikus, statikus változók deklarálására szolgál, amelyeket széles körben használnak az osztályok C-ben történő írásakor. Az a tulajdonságuk, hogy megőrzik értéküket, még akkor is, ha túlmutatnak a láthatóság körén. Így azt mondhatjuk, hogy csak egyszer inicializálódnak, és a program végéig léteznek, új memóriát nem osztanak ki nekik, mivel nem deklarálják újra, és a hatókör attól a funkciótól függ, amelyre meghatározták őket. A globális statikus változók bárhol elérhetők a programban. Alapértelmezés szerint a 0 értéket kapják.
  4. a regiszter fordító által deklarálja azokat a változókat, amelyek ugyanolyan funkcionalitással rendelkeznek, mint az automatikus. Az egyetlen különbség az, hogy a fordító megpróbálja tárolni őket a mikroprocesszorban, ha a hozzáférés ingyenes. Ez sokkal gyorsabbá teszi a felhasználást, mint a memóriában a program végrehajtása során. Ha nem áll rendelkezésre ingyenes regiszter, akkor azokat csak a memóriában tárolják. Általában kevés olyan változót deklarálnak, amelyekhez nagyon gyakran kell hozzáférni a programban, a "regisztráció" kulcsszóval, ami javítja a program végrehajtási idejét.

Szintaxis: tároló osztály var_data_type változás_neve.

Szintaxis: tárolási osztály

A programozás titkai

Az alábbi ajánlások nem teljesek, és az objektumorientált programozási tervezési minták helyes használatára szolgálnak:

  1. Kerülje el a Mindenható osztályokat a Pythonban.
  2. Alkalmazzon értelmes neveket.
  3. Osztály fejlesztésekor vagy meglévő kód refaktorálásakor a fejlesztőnek készíts egy listát az összes feladatot, és dolgozzon ki egy nevet.
  4. Az OOP használatakor sokkal könnyebb feljönni értelmes nevekkel, mivel maga a tervezési minta gyakran meghatározza a felelősség típusát.
  5. Az osztály nevének nagybetűvel kell kezdődnie. Ha a név összetett szót vagy több szót képvisel, akkor minden szó első betűjének nagybetűnek kell lennie. Példa: osztálytanulás, osztálytanulmányéjszaka stb.
  6. Az osztályok adattagokat és tagfunkciókat tartalmaznak. És ezekhez az elemekhez és változókhoz való hozzáférés a specifikátoroktól függ.
  7. Az osztály tagjai fogalma. Mit jelent ez? A C++ egy osztálya hasonló a C struktúráihoz. Az egyetlen különbség az, hogy alapértelmezés szerint privát hozzáférés-vezérlést használ, a szerkezet pedig nyilvános.
  8. Minden Hoppá függvények körül forog osztályok C-öröklődés, kapszulázás, absztrakcióés mások.
  9. Az objektumok a tagadatok külön példányait tartalmazzák.
  10. Annyi objektumot hozhat létre, amennyire szüksége van.

Az objektum egyedi változókkal rendelkezik. Ezeket speciális osztályfüggvényekkel inicializálják, amelyeket konstruktoroknak hívnak. És amikor kiesik a hatókörből, egy másik speciális függvényt, A Destruktort hívják meg, hogy felszabadítsa az objektum által fenntartott memóriát. A C++ nem rendelkezik automatikus szemétgyűjtővel, mint a JAVA-ban, a Destructor elvégzi ezt a feladatot.

Minden objektumnak különböző változói vannak

A cikk egyszerű nyelven íródott a programozás osztályairól. Reméljük, hogy az anyag egyértelmű volt számodra. Az objektumorientált nyelvek használatának szabályainak ismerete a sikeres alkalmazás fejlesztésének fő feltétele. A jó architektúra pénzt takarít meg a képzésre, karbantartásra, tesztelésre, javításra, a forráskód kiterjesztésére és méretezésére. Ez több időt és gondoskodást igényel a kezdeti fejlesztéshez, de gyorsan megtéríti a beruházást nagy érdeklődéssel. Elkerülhetetlen, hogy a még jobban megtervezett architektúrák ideiglenes kiigazítást és refaktorálást igényeljenek.

Cikkek a témában