Mga computerProgramming

PHP tayuan: Halimbawa klase ng paglikha

Ang ideya ng mga object-oriented programming ay mas mas malawak na mga posibilidad PHP dahil sa kanyang pagtitiyak, ngunit kahit na sa kasalukuyang pagpapatupad ng ito ay nagbibigay sa mga programmer ng walang limitasyong posibilidad. PHP ay makagawa ng disenyo - isang espesyal na paraan ng isang klase (object) na tinatawag na sa bawat oras na ang isang halimbawa ay nilikha.

Limitasyon ay na PHP ay nagtatrabaho sa panahon ng isang pahina. Sa isang pagkakataon kapag ang pahina ay refresh o i-load ang isa pang pahina sa parehong site, ang mga kinakailangang mga bagay na sistema binuo muli mula sa simula.

Ang paglikha ng isang instance

Class Paglalarawan ay hindi kinakailangan na magkaroon ng isang constructor. Kung kailangan mo upang maghanda ang paunang halaga ng variable, upang makuha ang sandali ng paglikha ng klase Halimbawa (object) upang magsagawa ng ilang mga aksyon sa iba pang mga bagay, hindi mo maaaring gamitin ang PHP klase tayuan syntax at isulat ang nararapat na code sa labas ng pamamaraan klase.

Ayon sa lohika ng mga object-oriented programming estilo, ang bawat klase ay dapat magkaroon ng isang constructor na mas dapat umpisahan mula sa klase ng puno abstract (walang laman) ninuno. Ito banal na alaala ng nakaraan, sa halip na isang matinong practice.

Kapag pedigree nagsisimula makabuluhang klase, na kung saan ay may sariling data at mga katangian na nauugnay sa mga panlabas na data (mga bagay) nang walang pag-andar ay makagawa ng PHP ay lubhang kailangan.

Sa halimbawang ito, ang pag-andar (tagapagbuo) ay tinatawag na upang lumikha ng (PHP tayuan) ang petsa ng klase halimbawa. Ito ay may isang tiyak na pangalan at ay tinatawag na __construct machine nang isang beses lamang, kapag ang klase Halimbawa ay nilikha.

Klase na ito ay nagbibigay ng isang static na variable $ iUniqueNo, na sa bawat kopya ng klase na ito ay magkaroon ng isang natatanging halaga. Pagkakataon ng mga klase ay wala sa karaniwan maliban sa paglalarawan sa loob ng PHP syntax, at pakikipag-ugnayan na ibinigay sa pamamagitan ng nag-develop ng kanilang mga pamamaraan.

Pamana initialization lohika

Ang bawat bagay ay dapat ipatupad ang kanyang mga layunin, upang magkaroon ng kung ano ang dapat niya, at gawin kung ano ang mayroon ako sa. Na may tulad na isang makatwirang pananaw initialization sa bawat antas ancestry ay maaaring isama ang initialization ng bawat ninuno, inapo tinatawag na isang antas.

Sa halimbawang ito, ang keyword ay nagbibigay-daan sa iyo upang tumawag sa magulang :: magulang constructor sa antas ng bata. Semantics ay simple. Una ay upang maisagawa ang kanyang mga initialization ninuno, pagkatapos ay ang kasalukuyang halimbawa. Ang unang sumusunod sa sarili nitong logic, ang pangalawang - sa kanyang sarili.

Kapag ang bawat bagay ay nakikibahagi sa mga negosyo, ang pangkalahatang proseso ay tama at maliwanag. Ngunit ito ay hindi dapat sa pangkalahatan ay itinuturing na ang mga pamantayan para sa lahat ng mga sistema ng mga pasilidad.

Tala ng mga ninuno ang sistema ng mga bagay "pagkain" sa unang approximation ay maaaring magkaroon ng isang bagay sa karaniwan, ngunit ang produkto ay gatas, pakwan, pasta at cereal bagaman sila ay nabibilang sa tulad ng isang sistema, ngunit tumingin sila at naglarawan nang bahagyang naiiba.

Developer ay dapat bumuo ng bawat object sa sistema ng application, at hindi sa kung paano ito ay isang beses ang isang tao iminungkahing. Ang bawat problema ay natatangi, ito ay isang pangangailangan na gamitin sa PHP parent tayuan - hindi mapag-aalinlanganan.

Pampubliko at pribadong mga constructor

Ang default na constructor ay karaniwan at magagamit para gamitin ng lahat ng mga kaapu-apuhan. Ay hindi kinakailangang ipahiwatig ang pampublikong function na makagawa ng, sa pamamagitan ng default, PHP treats ang lahat ng inilarawan bilang karaniwan.

Paano ito ang akma na gamitin ang pribadong keyword sa paglalarawan ng mga designer - ang pagtitiyak ng problema, isang tampok ng ang proseso ng pag-unlad o programmer preference?

Mula sa isang pangkonseptong punto ng view ng tala ng mga ninuno ng mga bagay ay maaaring pahintulutan ang anumang mga paghihigpit na may paggalang sa kanilang mga ninuno sa mga kaapu-apuhan, ngunit kung magkano ay isang makatwirang lohika ay mahirap na sabihin, gayon pa man, sa pangkalahatang konteksto.

bagay lifetime

Ang konsepto ng mga object-oriented programming PHP ay makagawa ng klase mas malawak na pagkakataon para sa simpleng dahilan na ang huli lamang ang umiiral sa panahon ng isang pahina, ito muling maitaguyod o lumikha ng isa pang pahina.

Paglahok sa pamamagitan ng JavaScript AJAX browser at ang tamang code sa server ay maaaring makatulong upang pahabain ang buhay ng mga bagay, ngunit sa anumang anyo ito ay magiging limitado estilo.

PHP ay nagbibigay ng kakayahan upang patakbuhin ang script sa server kapag ang client ay "disconnect" at "tanggapin" client pabalik sa script na tumatakbo ang mga ito bago, ngunit ito ay hindi isang pagpipilian kapag ang mga object-oriented program ay ipinapatupad sa C ++.

Sa huli kaso, maaari kang bumuo ng isang kumpletong sistema ng mga bagay na magiging "forever", pati na ang programa ay up at tumatakbo. Gayunman, ito lamang ang maaaring magyabang ng isang nakatigil programming language tulad ng C ++, C #, Pascal & Delphi. ang lahat na binuo sa ibang paraan, mabuhay ng mas mabilis at umabot sa higit pa sa isang dynamic na mundo ng online.

Mula sa serialization ng pangangalaga sa sarili

Maaari mong mahanap ang makasaysayang pagbibigay-katarungan para sa mga terminong "serialization" at hitsura sa araw-araw na buhay ang konsepto ng "pamamaraan magic". Ngunit lahat ng bagay ay lubhang mas madaling. Eksakto ang parehong bilang ang pagkakaiba sa pagitan ng kalayaan ng C ++ sa katigasan ng serialization C # ay naiiba mula sa karaniwan konsepto:

  • isulat ang object sa isang string;
  • basahin ang isang bagay mula sa isang string.

Sinabi surround magic at gawa-gawa mahiwagang pamamaraan - maganda, malakas, ngunit kakaunti praktikal. Ang mundo ng mga impormasyon ay kagiliw-giliw na lalo na sa na ang lahat ng nakikita, naririnig at nahahawakan ay maaaring inilarawan bilang simple at magkaugnay na teksto.

Impormasyon ay palaging, ay at magiging isang karakter na string. Hindi mahalaga kung ano ang mga likas na katangian. Ang pormal na istruktura ng programming wika, simbolo ng kalikasan nag-iisa - coding table.

Ang ideya ng pag-convert ng isang bagay sa isang string upang kapag kinakailangan, ito ay posible na mabawi ang mula sa linyang ito nang hindi nawawala ang kakanyahan - isang napaka-praktikal na ideya.

Mula sa sarili sa sarili

Semantics PHP tayuan constructor sa loob ng syntax ay limitado, ngunit kung ang designer bumuo sa pagbubuo ng posisyon:

  • Ito ay ang simula - upang lumikha ng isang ganap na bagong pagkakataon;
  • ay ang kasalukuyang estado - lumilikha ng mga umiiral na mga halimbawa.

PHP mga limitasyon dahil sa ang katunayan na ang mga sistema ng mga bagay ito ay umiiral lamang sa panahon ng isang pahina, bawiin nila sa kanilang sarili.

Paglikha ng isang sistema ng mga bagay sa pagbuo ng mga pahina sa iyong site, maaari mong i-save ito. Para maging simple, ang prosesong ito ay hindi kinakailangan na tinatawag na serialization, maaari naming limitahan ang pagpapanatili ng status quo (database file), at kapag ang kailangan upang muling magpulong sa parehong pahina o gumawa ng isa pang sa parehong site, kailangan lang ibalik ang mga kasalukuyang estado ng affairs, na kung saan ay nai-nabuo.

Sa kontekstong ito, ang object ng sistema ay nilikha nang isang beses lamang, at sa kurso ng ang site ng ito ay lamang ng pagbubuo. Sa ilalim ng scheme na ito, maaari kang magdisenyo ng isang sistema ng mga bagay tulad ng pagiging madaling ibagay sa pagbabago ng mga kondisyon.

Self-perpetuating sistema ng object na "Naaalala" ang mga pagkilos ng mga bisita at ang mga pahina ng katayuan, at ang bawat oras na patakbuhin namin PHP, ito ay hindi nilikha mula sa wala at naibalik sa nakaraang estado.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tl.birmiss.com. Theme powered by WordPress.