Matryoshka C. Sistimi ea puo ea lenaneo e nang le lera

A re ke re leke ho nahana k'hemistri ntle Mendeleev ea Periodic Table (1869). Ke likarolo tse kae tse neng li lokela ho hopoloa, 'me ho se na tatellano e itseng ... (Joale - 60.)

Ho etsa sena, nahana feela ka puo e le 'ngoe kapa tse' maloa tsa lenaneo hang. Maikutlo a tšoanang, moferefere o tšoanang oa pōpo.

'Me joale re ka pheta maikutlo a litsebi tsa lik'hemik'hale tsa lekholong la boXNUMX la lilemo ha li ne li fuoa tsebo eohle ea tsona, le tse ling tse ngata, ho Periodic Table e le' ngoe.

Matryoshka C. Sistimi ea puo ea lenaneo e nang le lera


Buka ea "Matryoshka C. Sistimi e hlophisehileng ea puo ea lenaneo" e hlahisa likarolo tsohle tsa puo ea C hang-hang. Sena se u nolofalletsa ho li hlophisa, ho lokisa tlhahisoleseding e siiloeng ke nako, esita le ho hlakisa eona khopolo ea lenaneo.

Kajeno, tlhaiso-leseling ea mananeo e hloka ho hlophisoa le ho feta likarolo tsa lik'hemik'hale tse neng li etsa lilemong tse 150 tse fetileng.

Ntho ea pele e hlokahalang ke ho ruta. Mendeleev o ile a qala ho theha tsamaiso ea hae ha a tobane le potso ea hore na ke karolo efe eo a lokelang ho qala ho bua ka eona: O, H, N, He, Au ... Ka nako e ts'oanang, ho ne ho le bonolo ho eena - o ile a ruta k'hemistri ho ba molemo ka ho fetisisa - liithuti tsa Univesithi ea St. Petersburg. 'Me lenaneo le se le ntse le rutoa sekolong' me haufinyane le tla qala ka kerecheng.

Tlhokahalo ea bobeli ke mokhoa oa saense. Ka thuso ea Periodic Table, lintlha tse ncha li ile tsa sibolloa 'me boitsebiso bo mabapi le ba khale bo ile ba lokisoa. O ile a thusa ho theha mohlala oa athomo (1911). Joalo joalo.

Tlhokahalo ea boraro ke ho hlakisa mohopolo oa lenaneo.

Lenaneo la sejoale-joale le na le leoto le le leng le khomaretsoeng lilemong tsa bo-50 tsa lekholo la boXNUMX la lilemo. Mehleng eo, mananeo a ne a le bonolo, empa mechine le lipuo tsa mochine li ne li rarahane, kahoo ntho e 'ngoe le e' ngoe e ne e amana le mechine le lipuo.

Hona joale ntho e 'ngoe le e' ngoe e fapane: mananeo a rarahane ebile a ka sehloohong, lipuo li bonolo ebile li bobeli. Sena se bitsoa mokhoa o sebelisoang, oo bohle ba bonahalang ba o tseba. Empa liithuti le bahlahisi ba tsoela pele ho kholiseha hore ntho e 'ngoe le e' ngoe e tšoana.

E leng se re khutlisetsang puong ea pele ea Privatdozent Mendeleev. Seo u lokelang ho se bolella ba bacha? 'Nete e hokae? Ke eona potso.

Buka ea "Matryoshka C" e fana ka karabo ea potso ena. Sistimi e hlophisitsoeng ea puo ea lenaneo". Ho feta moo, ha e lebisitsoe ho liithuti feela, empa hape le ho baetsi ba mananeo ba koetlisitsoeng, kaha ke bona, ke hore, rona, re lokelang ho batla 'nete le ho fetola pono ea lefatše.

Se latelang ke kakaretso ea buka.

1. Kenyelletso

Ka 1969, ho ile ha thehoa puo ea C, e ileng ea fetoha puo ea motheo ea lenaneo 'me e lutse e le joalo ka lilemo tse 50. Hobaneng ho le joalo? Pele ho tsohle, hobane C ke sebelisoa puo e faneng ka lenaneo botho sheba ho fapana le hoo mochini. Katleho ena e sirelelitsoe ke lipuo tse tsoang lelapeng la C: C++, JavaScript, PHP, Java, C # le tse ling. Sa bobedi, ke puo e khutshwane e e monate.

Leha ho le joalo, puo ea C ka boeona hangata e tsoakanngoa le mochine o kopanyang mochine, kahoo e thatafatsa le ho sotha maikutlo a eona. E 'ngoe e feteletseng ke ho kenya "filosofi" e itseng puong: mokhoa, ntho, ts'ebetso, e hlophisitsoe, e hlalositsoe, e thaepa, joalo-joalo. Sena se eketsa maikutlo, empa ha se thuse ho hlalosa puo hantle.

'Nete e bohareng,' me bakeng sa puo ea C e bohareng ka thata pakeng tsa maikutlo a filosofi le mochine.

Puo ea C ha e ikemele, e mamela puo e tloaelehileng e ngotsoeng, 'me ka nako e ts'oanang e laola puo ea kopano ka boeona. Boemo bona bo hlalosa Mohlala oa puo oa lenaneo, ho latela hore na lenaneo le arotsoe ka mefuta e meraro e ka tlaase: puo, khoutu, taelo. Puo ea C e ikarabella bakeng sa mofuta oa bobeli, oa khoutu.

Kaha u fumane sebaka sa puo lenaneong, u ka hlophisa tlhahisoleseding e mabapi le eona, e etsang hore Sistimi ea puo ea lenaneo e nang le lera, e emelang puo ea C moeeng oa tsamaiso ea nakoana - leqepheng le le leng.

Sistimi e hahiloe ka hloko lichaba tsa lipuo tse sebelisoang, e hlahang ka lebaka la ho ikokobetsa ha bona puong. Sehlopha se le seng sa lihlopha tsa Matryoshka C se u lumella ho hlalosa le ho bapisa lipuo tse fapaneng, ho theha letoto la Matryoshkas: C ++, PHP, JavaScript, C #, MySQL, Python joalo-joalo. Ho loketse ebile ho nepahetse hore lipuo tse fapaneng li hlalosoa ke likarolo tsa puo ea mantlha.

2. KHAOLO 1. Mohlala oa puo oa lenaneo. Hlakola C

Khaolo ea pele e fana ka mohlala oa puo oa lenaneo, e bontšang mokhoa o sebelisoang. Ho ea ka eena, lenaneo le na le mefuta e meraro e hlakileng ea tatellano:

  1. puo - puo e tobileng ea moqapi ea rarollang bothata,
  2. coded - ho kenya tharollo ka mokhoa oa lipalo ka puo ea C (kapa leha e le efe)
  3. le ho laela - litaelo tsa mochine o tobileng.

Mohlala oa puo o hlalosa hore na ke hobane'ng ha C e le puo e bonolo le e utloisisoang. Xi e hahiloe ka setšoantšo le sebopeho sa puo ea motho eo re e tloaetseng.

Mofuta oa pele oa lenaneo ke puo e tobileng ea moetsi oa lenaneo. Puo e tsamaisana le monahano oa motho. Baqapi ba qalang ba ngola mananeo ba sebelisa puo - pele ka Serussia, ebe mohato ka mohato ba fetolela liketso ka puo ea khoutu. 'Me ke ka mokhoa ona moo puo ea C e ileng ea thehoa.

Liqeto tsa moetsi oa lenaneo, tse hlahisoang ka puo, li fetoloa mokhoa oa linomoro tsa khoutu. Phetoho ena e lokela ho bitsoa ho thuisa, kaha puo le khoutu li na le tlhaho e tšoanang (ponahatso - tsoalo - bong). Sena se hlakile haholo haeba re bapisa puo (ka ho le letšehali) le khoutu (ka ho le letona) mefuta ea lenaneo.

Matryoshka C. Sistimi ea puo ea lenaneo e nang le lera

Hoa makatsa hore ebe ho nahanisisa ho etsahala habonolo - ka mefuta e 'meli feela ea lipolelo.

Leha ho le joalo, tlhaloso ea sejoale-joale ea puo ea C (ho tloha ka 1978) ha e na lethathamo le lekaneng la mabitso ho hlalosa puo ka kakaretso, kapa bakeng sa mosebetsi oa ho bonahatsa ka ho khetheha. Ka hona, re qobelloa ho etsa boqapi le ho tsebisa mabitso ana.

Khetho ea mantsoe e tlameha ho ba e hlakileng le e hlakileng. Sena se ne se hloka mokhoa o khethehileng, o hlalosoang ka bokhutšoanyane ka tsela e latelang: tšebeliso e tiileng ea puo ea matsoalloa. Bakeng sa Senyesemane e ne e tla ba Senyesemane, empa ha re Manyesemane. Kahoo re tla sebelisa seo re nang le sona ebe re leka ho bua Serussia.

Tlhaloso e etsoa ka mefuta e 'meli ea lipolelo:

  1. komporo (HF) - e bonahatsa phetoho matlotlong a ntho. Thepa ea ntho e hlalosoa ka palo, joale ketso holim'a thepa ke ketso ho palo - ts'ebetso.
  2. ho ikokobetsa (Pch) - e bonahatsa phetoho ea tatellano ea liketso. Mohlala oa Pch ke polelo e rarahaneng ea puo, kahoo mefuta e mengata ea Pch e qala ka ho kopanya mahokelo "haeba", "ho seng joalo", "ha a ntse a", "bakeng sa". Mefuta e meng ea li-PC e tlatselletsa bona.

Ka tsela, na u ka lumela hore tlhalosong ea C ha ho na lebitso la lipolelo tsa lipalo - li bitsoa "lipolelo" feela? Ka mor'a sena, ha ho sa tla hlola ho makatsa hore ebe ha ho na lebitso le mokhatlo oa mofuta oa ho ipeha tlaase, 'me ka sebele ho haella ha mabitso, litlhaloso le kakaretso ka kakaretso. Sena ke hobane K/R e tsebahalang (“The C Language”, Kernighan/Ritchie, 1978) ha se tlhaloso, empa ke tataiso ea ho sebelisa puo.

Leha ho le joalo, ke ntse ke rata ho fumana tlhaloso ea puo eo. Ka hona o nyeheloa Sistimi ea puo ea lenaneo e nang le lera.

3. KHAOLO 2. Tsamaiso ea lera. Kakaretso C

Tlhaloso efe kapa efe e tlameha ho ba e nepahetseng le e khuts'oane haholo. Tabeng ea puo ea lenaneo, tlhaloso e ka pele e thata.

Mona re na le lenaneo. E na le li-module. Li-module li na le li-subroutines le pokello (sebopeho). Li-subroutines li na le lipolelo tsa motho ka mong: liphatlalatso, lipalo, ho ipeha tlaase. Ho na le mefuta e ka bang leshome ea ho ipeha tlaase. Subordination e hokahanya li-sublevels le subroutines. Ho boetse ho na le lipapatso tse 'maloa. Leha ho le joalo, liphatlalatso ha li kenyellelitsoe feela ho li-subroutines le sublevels, empa hape le li-module le likoleke. 'Me lipolelo tse ngata li na le mantsoe ao ho leng thata ho a hlalosa hoo hangata a fanoang feela ka manane a mabeli - mantsoe a pele le a nkiloeng, ao u tla tloaelana le 'ona nakong eohle ea ho ithuta le ho sebelisoa ha puo. Ha re kenyeng matshwao a puo le matshwao a mang a mmalwa ho sena.

Nehelanong e joalo, ha ho bonolo ho utloisisa hore na ke mang ea neng a eme holim'a mang.

Mokhoa o tobileng oa maemo a phahameng a ho hlalosa puo e ka ba o rarahaneng ho feta tekano. Ho batla ho pota-pota ho lebisa tlhalosong ea puo e ipapisitseng le sebopeho sa eona sa puo le lehlakore la taelo. Kahoo, ho ile ha tsoaloa lera System, karolo e itseng coinciding le Periodic System ea Mendeleev, e leng e boetse e. ply. Joalokaha ho ile ha etsahala lilemo tse 42 ka mor'a hore e phatlalatsoe (1869), nako ea tsamaiso ea nako e amahanngoa le elektroniki. mealo (1911, mohlala oa Bohr-Rutherford oa athomo). Hape, litsamaiso tsa Layered le Periodic li tšoana tlhophisong ea tabular ea likarolo tsohle leqepheng le le leng.

Tlhaloso ea likarolo tsa puo e khutšoanyane - mefuta e 10 feela ea lipolelo le mefuta e 8 ea lihlopha tse ling, hammoho le moelelo le pono. Le hoja e sa tloaeleha ho motho oa pele eo u mo tsebang.

Likarolo tsa lipuo li arotsoe ka mekhahlelo e 6:

  1. diyuniti - mela ya tafole
  2. mafapha - lihlopha tse khethehileng tsa genera (likarolo tsa mola oa pele)
  3. genus - lisele (boemo bo ka sehloohong ba karohano)
  4. superspecies - mefuta e arolang (boemo bo sa tloaelehang)
  5. mefuta - liforomo tsa yuniti ka tlase ho sele kapa ka thoko
  6. dipaterone - diyuniti ka botsona (bakeng sa mantswe feela)

Mantsoe a mohlala a hlalosa tlotlofoko - subsystem e arohaneng e entsoeng ka maemo a ts'eletseng a ts'oanang.

Karolo ea puo ea puo ea C e hlakile, le hoja e ntse e tšoaneloa ke tlhaloso. Empa karolo ea taelo ea puo e amana hantle le taolo ea ho bokella, nakong eo mofuta oa boraro oa lenaneo o bōpiloeng - taelo. Mona re fihla karolong e thabisang ka ho fetisisa ea puo ea C: botle.

4. LIKHAOLO TSE LATELANG. Handsome Si

Puo ea C ke motheo oa mananeo a kajeno. Hobaneng? Ntlha ea pele, ka lebaka la puisano e kholo ka ho fetisisa ea puo. Taba ea bobeli, hobane e fetisitse ka bokhabane meeli ea ts'ebetso ea linomoro tsa mochini.

Hantle-ntle Xi o hlahisitse eng? Setšoantšo le lera.

Lentsoe "setšoantšo" ke phetolelo ea lentsoe la Senyesemane "mofuta", le tsoang ho "prototype" ea Segerike - "mofuta". Puong ea Serussia, lentsoe "mofuta" ha le fane ka lejoe la motheo la mohopolo o hlalosoang; ho feta moo, le ferekanngoa le moelelo o thusang "mofuta".

Qalong, setšoantšo se ile sa rarolla bothata ba lipalo tsa mochine, 'me ea fetoha tsela ea ho tsoaloa ha lipuo tsa ntho.

Lera hang-hang rarolla mathata a 'maloa - ka bobeli mochine le sebelisoa. Ka hona, ho nahanoa ho tla qala ka setšoantšo sa mosebetsi o le mong ebe o fetela ho lera la mesebetsi e mengata.

E 'ngoe ea likarolo tse sa thabiseng tsa lenaneo la histori ke hore likhopolo tse ngata, ho kenyeletsa le tsa motheo, li fanoa ntle le litlhaloso. "Puo ea lenaneo (lebitso la linōka) e na le mefuta e mengata ea linomoro le tse phaphametseng ... "'me li ile tsa tsoela pele. Ha ho hlokahale ho hlalosa hore na "mofuta" (setšoantšo) ke eng, hobane bangoli ka bobona ha ba utloisise sena ka botlalo 'me ba tla se khutsisa "bakeng sa ho hlaka." Haeba li khokhothetsoe leboteng, li tla fana ka tlhaloso e sa hlakang le e se nang thuso. Ho thusa haholo ho ipata ka mor'a mantsoe a tsoang linaheng tse ling: bakeng sa bangoli ba Serussia - ka mor'a Senyesemane (mofuta), bakeng sa Manyesemane - ka mor'a Sefora (subroutine), Segerike (polymorphism), Selatine (encapsulation) kapa metsoako ea bona (ad-hoc polymorphism).

Empa sena ha se qetello ea rona. Khetho ea rona ke litlhaloso tse nang le visor e phahamisitsoeng ka Serussia e hloekileng.

Setšoantšo

Setšoantšo ke lebitso la tšoantšetso la bongata le hlalosang 1) thepa ea mantlha ea bongata le 2) khetho ea ts'ebetso bakeng sa bongata.

Lentsoe "mofuta" (mofuta) le lumellana le karolo ea pele ea tlhaloso: "intrinsic properties of a quantity." Empa moelelo oa sehlooho oa setšoantšo o karolong ea bobeli: "khetho ea ts'ebetso ho ea ka bongata."

Sebaka sa ho qala sa ho hlahisa setšoantšo ho C ke palo e tloaelehileng, joalo ka ts'ebetso ea ho eketsa.

Pampiri Lipalo, ebang li ngotsoe ka letsoho kapa li hatisitsoe, ha li etse phapang e khōlō pakeng tsa mefuta ea linomoro, hangata ho nka hore ke tsa sebele. Ka hona, ts'ebetso ea bona ea ts'ebetso ha e tsejoe.

Mochini Mathematics e arola lipalo ka botlalo ka lipalo tse felletseng le likaroloana. Mefuta e fapaneng ea linomoro e bolokoa ka tsela e fapaneng mohopolong mme e sebetsoa ka litaelo tse fapaneng tsa processor. Mohlala, litaelo tsa ho kenyelletsa lipalo le likaroloana ke litaelo tse peli tse fapaneng tse tsamaellanang le node tse peli tse fapaneng tsa processor. Empa ha ho na taelo ea ho kenyelletsa likhang tse felletseng le tsa likaroloana.

E sebelisitsoe lipalo, ke hore, puo ea C, e arola mefuta ea linomoro, empa e kopanya ts'ebetso: tlatsetso bakeng sa lipalo-palo le / kapa likaroloana li ngotsoe ka pontšo e le 'ngoe ea ketso.

Tlhaloso e hlakileng ea setšoantšo sa mohopolo e re lumella ho bua ka maikutlo a mang a mabeli: boholo и ts'ebetso.

Boholo le ts'ebetso

Bongata - palo e ntseng e sebetsoa.

Ts'ebetso - sebetsana le boleng ba boleng ba pele (likhang) ho fumana nomoro ea ho qetela (kakaretso).

Boholo le ts'ebetso li amana. Opereishene ka 'ngoe ke bongata hobane e na le sephetho sa linomoro. 'Me boleng bo bong le bo bong ke phello ea ho fetisetsa boleng ho / ho tloha ho rejistara ea processor, ke hore, sephetho sa ts'ebetso. Ho sa tsotellehe kamano ena, ntho e ka sehloohong ke monyetla oa tlhaloso ea bona e fapaneng, leha ho le joalo ka ho pheta-pheta lentsoe le le leng likarolong tse fapaneng tsa dikishinari, e leng se etsahalang ho MA3.

Mokhoa oa mochine o arola lipalo tsohle tse sebelisoang ke moqapi oa lenaneo litaelo и ya data. Pele, bobeli ba tsona e ne e le linomoro, mohlala, litaelo li ne li ngotsoe ka linomoro. Leha ho le joalo, lipuong tse sebelisoang, litaelo li ile tsa khaotsa ho ba linomoro eaba li fetoha ka mantsoe и matšoao a ketso. Ke "data" feela e setseng e le linomoro, empa ke ntho e sa utloahaleng ho tsoela pele ho li bitsa ka tsela eo, hobane phetohong ea ho tloha mochine ho ea ho pono ea lipalo, lipalo ke bongata bo arotsoeng ke ba pele (ya data) le ho qetela (hlokahala). "Datum e sa tsejoeng" e tla utloahala e le booatla.

Lihlopha li boetse li arotsoe ka mefuta e 'meli ea liketso: lipalo le tšebeletso. Liketso tsa lipalo - ts'ebetso. Re tla bua ka litaba tsa semmuso hamorao.

Lipuong tsa C, pampiri le mochini o tloaelehileng o sa hlake, kapa o le mong, ts'ebetso ea lipalo e batla e fetoha e mengata hohle.

Lits'ebetso tse ngata ke lits'ebetso tse 'maloa tsa lebitso le le leng ka mefuta e fapaneng ea likhang le tse fapaneng, ka moelelo o tšoanang, liketso.

Lintlha tse felletseng li tsamaellana le tšebetso eohle, 'me likhang tsa likaroloana li tsamaisana le tšebetso ea karoloana. Phapang ena e hlakile haholo nakong ea ts'ebetso ea karohano, ha poleloana 1/2 e fana ka kakaretso ea 0, eseng 0,5. Tlhaloso e joalo ha e lumellane le melao ea lipalo tsa pampiri, empa puo ea C ha e leke ho e latela (ho fapana le Fortran) - e bapala ho ea ka eona. dirisitsoe melaoana.

Tabeng ea ho kopanya lipalo-palo le likaroloana, ho kenyelelitsoe e le 'ngoe feela e nepahetseng ho etsa likhang litekanyetso - phetoho e khethehileng ea boleng ho tloha setšoantšong se seng ho ea ho se seng. Ha e le hantle, ha u eketsa palo e feletseng le palo e fokolang, sephetho ke karoloana, kahoo setšoantšo sa ts'ebetso thonaka ts'ebetso ea ho fetolela polelo e felletseng ho boleng ba karoloana.

Ho setse lits'ebetso tse 'maloa bongatale masoha. Ts'ebetso e joalo e hlalosoa feela bakeng sa mofuta o le mong oa likhang: karolo e setseng - likhang tse felletseng, stacking (ts'ebetso ea bitwise) - lipalo tsa tlhaho. Ma3 e bonts'a bongata ba ts'ebetso ka matšoao (# ^) a bonts'a litšoantšo tseo ts'ebetso e hlalosoang ka tsona. Ena ke thepa ea bohlokoa empa e kileng ea hlokomolohuoa ea ts'ebetso e 'ngoe le e' ngoe.

Mesebetsi eohle ke ts'ebetso ea yuniti e ikemetseng. Mokhelo ke basebelisi - mesebetsi e seng ea borakete, e hahiloeng ka puo (lits'ebetso tsa pele).

Thuso

Thuso - ketso e tsamaisanang le ts'ebetso.

Haeba re nka ts'ebetso e le ketso e ka sehloohong, joale re ka khetholla tse peli tse tsamaeang le tsona tse fanang ka ts'ebetso le ho fapana le eona. Tsena ke 1) taolo e fapaneng le 2) ho ikamahanya le maemo. Ketso ena e bitsoa thuso.

Mona re hloka ho nyenyefatsa le ho bua ka thoko ka liphetolelo tsa Serussia tsa libuka tsa mananeo. Lentsoe le lecha le kentsoe mongolong oa K/R ho rekota liketso setatemente se (polelo), e ileng ea leka ho arola likhopolo tsa taelo ea mochine ka liketso tse sa tšoaneng: 1) ts'ebetso, 2) phatlalatso, le 3) ho ipeha tlaase (e bitsoang "control constructs"). Boiteko bona bo ile ba patoa ke bafetoleli ba Serussia, ba nkela "polelo" sebaka ka lentsoe "opereishene", e leng:

  1. e se e tšoana le lentsoe la mochine "taelo",
  2. e ile ea tšoana le poleloana "letšoao la ketso",
  3. hape e amohetse palo e sa lekanyetsoang ea boleng bo eketsehileng. Ke hore e fetohile ntho e tšoanang le ea sengoloa sa Senyesemane “uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

Nahana ka liketso tse tsamaeang le eona, kapa thuso.

Taolo e feto-fetohang

Taolo e feto-fetohang (UP) - ho theha / ho hlakola lisele tse fapaneng.
UE e etsahala ka mokhoa o hlakileng ha o phatlalatsa phapang, e seng e ngotsoe ka lebaka le leng - ho bontša setšoantšo sa boleng. Ke pono e le 'ngoe feela e laoloang ka ho hlaka mefuta e eketsehileng ho sebelisa malloc () le mahala () mesebetsi.

Hoa lokela ho hlokomeloa hore liketso tse hlakileng li bonolo haholoanyane bakeng sa ho ngola, kaha ha li hloke ho ngola letho ho hang, empa ho thata ho li utloisisa - ho thata ho li ela hloko le ho li hlalosa.

Boikokobetso

Boikokobetso — hokela/ tima dikarolo tsa lera.

Puo ea C e fane ka mokhoa o sebelisoang oa ho laola tatellano ea liketso, e fapaneng le ea ho bokella - ho ipeha tlaase. E bonahatsa le ho hlahisa polelo e rarahaneng ea puo e nang le karohano e hlakileng ea karolo e kholo (subordination clause) le karolo e ka tlaase (likarolo tse tlaase / subroutine).

Ka bobeli phatlalatso le tlhahiso li hahiloe holim'a mohopolo ona mokato.

Lera

Lera ke sete e lekanyelitsoeng ea ho khetha ea boemo bo le bong.

Lera ka ho hlaka le ka mokhoa o hlakileng le nkile mesebetsi e mengata ka nako e le 'ngoe:

  1. ho hlophisa lenaneo
  2. ho fokotsa ponahalo ea mabitso (ka mokhoa o hlakileng),
  3. taolo ea mefuta-futa (lisele tsa memori) (tse hlakileng),
  4. tlhaloso ea lipoleloana tsa subordination,
  5. litlhaloso tsa mesebetsi le likhetho le tse ling.

Ho ne ho se na maikutlo a lera ka lipuo tsa mochine, kahoo ha ea ka ea hlaha ho K/R, 'me haeba ho hong ho ne ho le sieo, joale ho e hlahisa libukeng tse latelang e ne e tla ba bokhelohi le ho nahana ka bolokolohi. Ka hona, mohopolo oa lera ha oa ka oa hlaha ho hang, leha o le molemo haholo ebile o hlakile.

Ntle le lera, ho ke ke ha khoneha ho hlalosa ka bokhutšoanyane le ka ho hlaka liketso tse ngata le melao ea lenaneo. Ka mohlala, ke hobane'ng ha goto e le bonolo joaloka li-kopecks tse tharo tse mpe, 'me ntho e qhekellang e ntle. U ka hlapanya feela u se na thuso, joalo ka ha Dijkstra a entse (“bokhoni ba baetsi ba mananeo ke mosebetsi oo ka ho fapaneng o itšetlehileng ka makhetlo a mangata a ho hlaha ha lipolelo tsa goto mananeong a bona.” Ka bokhutšoanyane, ke lipōli feela tse sebelisang goto. Boemo ba tokafatso ke Molimo.) Ke 'nete, sena ha se tšabe hakaalo haeba libuka tsa hau Ha rea ​​tlameha ho hlalosa letho ho hang, empa, joalokaha re se re boletse, sena ha se qetello ea rona.

Ka tsela, ho ka nahanoa hore Dan Ritchie o tlohetse goto e le senotlolo sa ho batla mohopolo o sa boleloang ka lebitso, hobane ho ne ho se na tlhoko kapa botle polelong ea goto. Empa ho ne ho hlokahala tlhaloso e bonolo le e utloisisoang ea melao-motheo e mecha ea puo, eo Richie ka boeena a neng a sa batle ho fana ka eona, 'me e itšetlehile ka mokhoa o nepahetseng. mokato.

Ho kheloha

Ho kheloha - ho fetola litšobotsi tse tloaelehileng tsa lebitso le lecha.

Phapang ea bohlokoa ka ho fetisisa e amana hantle le thepa ea lera ea lenaneo, 'me e hlalosoa ka lentsoe le le leng "static", le nang le moelelo o fapaneng oa mofuta o mong le o mong oa lera.

5. KHAOLO EA HO QETELA. Tloaelo ea lipuo tse sebelisoang

Lipuo tse sebelisoang li tšoantšetso lipuo (tse nang le setšoantšo, "thaepa"). Li ipapisitse le tšebeliso e hlakileng kapa e hlakileng ea setšoantšo. Ho feta moo, mona ho boetse ho na le khanyetso: setšoantšo se hlakileng se utloahala haholoanyane, empa ha se bonolo, 'me ka tsela e fapaneng.

Matryoshka C. Sistimi ea puo ea lenaneo e nang le lera

(Sebopeho sa tafole ha se so tlisoe, kahoo tafole e bontšoa ka setšoantšo.)

Kamora C, nts'etsopele ea lipuo tse sebelisitsoeng e ile ea nka tsela ea ho eketsa papiso ea bona. Ntho ea bohlokoa ka ho fetisisa bakeng sa ho utloisisa litšoantšo tse phahameng ke setloholo se tobileng sa C - puo ea C ++. O hlahisa mohopolo oa khetho e sa lekanyetsoang ea ts'ebetso bakeng sa bongata mme o e kenyelletsa motheong oa khetho ea polelo ea maiketsetso, e amohelang lebitso le lecha - ntho. Leha ho le joalo, C ++ ha e khuts'oane ebile ha e hlalosehe joaloka C ka lebaka la ho jara mefuta e mecha ea pokello le melao e amanang le eona. Ha re le tseleng, a re bueng ka "overload".

Ho tlatsa le polymorphism

Lentsoe "overload" ke lentsoe la khale la ho ithuta ka mochini bakeng sa ho theha mesebetsi e mengata.

Baetsi ba mananeo a mochini (system). bongata Opereishene e ka 'na ea khopisa: "Letšoao lee (+) le bolela'ng: ho eketsa linomoro, ho eketsa likaroloana, kapa esita le ho fetoha?! Mehleng ea rōna ba ne ba sa ngola joalo!” Kahoo moelelo o mobe oa lentsoe le khethiloeng ("overkill", "khathetse"). Bakeng sa moqapi oa kopo, ts'ebetso e mengata ke lejoe la motheo, katleho e kholo le lefa la puo ea C, ea tlhaho hoo hangata e sa tsejoeng.

Ka puo ea C++ bongata e atolositsoe eseng feela ts'ebetsong ea pele, empa hape le mesebetsing - ka bobeli le e kopantsoeng ka lihlopha - mekhoa. Ka mekhoa e mengata ho ile ha tla bokhoni ba ho li feta ka lihlopha tse atolositsoeng, tse neng li bitsoa "polymorphism" ka mokhoa o hlakileng. Motsoako oa polymorphism le moroalo o mongata o hlahisitse motsoako o phatlohang o arohaneng ho ba lipolymorphisms tse peli: "nete" le "ad-hoc." Hoa khoneha ho utloisisa sena feela ho sa tsotellehe mabitso a fanoeng. Tsela e eang papatsong e entsoe ka mabitso a linaha tse ling.

Phatlalatso ea sebopeho sa "overload" e hlalosoa hamolemo lentsoeng tsebiso e eketsehileng - ho eketsa phatlalatso ea mosebetsi oa lebitso le le leng ka likhang tsa setšoantšo se fapaneng.

Phatlalatso ea mofuta oa "polymorphism" e bitsoa hamolemo phatlalatso - phatlalatso e fetelletseng karolong e ncha ea katoloso ea ts'ebetso ea lebitso le le leng ka likhang tsa setšoantšo se ts'oanang.

Joale ho tla ba bonolo ho utloisisa hore mekhoa ea lebitso le le leng la litšoantšo tse fapaneng (likhang) - e phatlalalitsoe hape, le setšoantšo se le seng - phatlalatsoa bocha.

Mantsoe a Serussia a etsa qeto.

Tsela ea ho matha

Ho nahanoa ka maikutlo a lipuo tsa tšoantšetso haholo ho tiisa bohlokoa ba tlhaloso e hlakileng ea likhopolo tsa motheo. Ha C e hlalositsoe ka nepo, ho ithuta lipuo tse phahameng tsa tšoantšetso ho tla ba bonolo hape ho natefeloe.

Sena ke sa bohlokoa haholo bakeng sa lipuo tse hlakileng haholo tsa tšoantšetso (PHP, JavaScript). Ho bona, bohlokoa ba lintho (litšoantšo tse kopantsoeng) bo ba bo phahameng le ho feta ho C ++, empa mohopolo oa setšoantšo o fetoha o hlakileng le o sa hlakang. Ho ea ka pono ea boiketlo, ba fetohile ba bonolo, empa ho ea ka pono ea kutloisiso, ba fetohile ba thata haholoanyane.

Ka hona, o lokela ho qala ho ithuta lipuo tsa mananeo ka puo ea C 'me u tsoele pele ka tatellano eo lipuo tsa lelapa la C li hlahang ka eona.

Hoa tšoana le tabeng ea ho hlalosa lipuo. Lipuo tse fapaneng li na le sete e tšoanang, kapa e nyane, ea bong ba likarolo ho feta puo ea C. Palo ea mefuta le lisampole e ka fapana mahlakoreng ka bobeli: C++ e na le mefuta e mengata ho feta C, athe JavaScript eona e fokola.

Puo ea MySQL e lokeloa ke ho buuoa ka mokhoa o khethehileng. Ho ka bonahala eka ha ho letho le tšoanang, empa o hlalosoa ka ho phethahetseng ke Matryoshka, 'me ho mo tseba ho ba kapele le ho bonolo. E leng ea bohlokoa, ho latela bohlokoa ba eona bakeng sa marang-rang - tsela ea ho jela ea mananeo a kajeno. 'Me moo ho nang le MySQL, ho na le li-SQL tse ling. Hantle, mefuta eohle ea Fortran-Pascal-Pythons e boetse e hlalosoa ke Matryoshka, hang ha ba fumana matsoho ho eona.

Kahoo, re letetsoe ke lintho tse kholo - tlhaloso e sebelisitsoeng ea puo ea C le tlhaloso e kopaneng ea lipuo tse e latelang. "Lipheo tsa rona li hlakile, mesebetsi ea rona e hlalositsoe. Kena mosebetsing, beng ka uena! (Mahofi a lifefo, a nako e telele, a fetoha molumo o moholo. E mong le e mong oa ema.)

Maikutlo a hau a tla mameloa ka hloko e kholo, thuso ea hau ea ho theha sebaka sa marang-rang sa lipopi tsa nesting e tla amoheloa ka teboho e kholo. Lintlha tse felletseng mabapi le buka ena li ho webosaete, e patiloeng ka bohlale Matryoshka C.

Source: www.habr.com

Eketsa ka tlhaloso