Olen useamman vuoden ajan harjoitellut omaksi ilokseni php:tä ja se sujuukin varsin mallikkaasti nyt, mutta usein olen huomannut, että lisä kirjastot ja muutenkin käytetään object tapaa kun ohjelmoidaan, joten mitä etuja siitä saa perinteideen verrattuna?
Näyttää ainaskin vaikeemmalta tulkita kuin perinteinen tapa, mutta kai sitäkin oppii tulkitsemaan jos viitsisi opiskella, mutta kannattaako.
Näyttää ainaskin vaikeemmalta tulkita kuin perinteinen tapa, mutta kai sitäkin oppii tulkitsemaan jos viitsisi opiskella, mutta kannattaako.
Vastaukset 3
Vanhimmat
Ilmeisesti liian vaikea kysymys tänne, vai mistä kiikastaa ettei kukaan vastaa?
http://www.cs.uta.fi/~zsjv/perusteet/luennot/Luokat.html
ja google kertoo lisää. lyhyesti kyllä kannataa
Tää voi olla hiukan sekava selitys sellaselle, joka ei tunne oliohjelmointia.. Äkkiseltään voi tuntua, että monen asan voi tehdä myös proceduraalisella tyylillä, ja se onkin totta. Mutta olioiden käyttäminen yleensä helpottaa ohjelmoijan elämää kummasti, helpottaa ylläpitoa jne.
Luokilla ja miistä luoduilla olioilla yleensä kuvataan jotain hmm oliota, jota halutaan käyttää monessa paikassa ohjelmakoodissa, esim User voi olla yksi eimerkki.
Oliohjelmoinnista on aivan sama hyöty PHP:ssä kuin perinteisissäkin ohjelmointikielissä. Eli etuina on mm. :
- Ohjelmakoodin uudelleen käytettävyys on aivan eriluokkaa olioita käytettäessä kuin ohjelmoitaessa proceduraalisella tyylillä. Tottakai sä voit kitjottaa funktion ja uudelleen käyttää sitä, mutta luokkia ja niistä luotuja olioita käytettäess uudelleen käytettävyys paranee huomattavasti.
- Luokista voidaan ns periyttää uusia luokkia. Eli suomeksi sanottuna se tarkottaa tätä. Voit haluta että sulla on esim luokka User, ja luokka Admin, jolla on kaikki samat ominaisuudet kuin Userila ja lisäksi joitakin ominaisuuksia jotka on vain luokalla Admin. Tuon voi toteuttaa näppärästi niin, että luot yleiskäyttösen luokan user, josta sitten peiytät luoka Admin. Tuolloin sun tarvitsee toteuttaa User:n ja Adminin yhteiset ominaisuyudet vain kerran.
- Ohjelmakoodi selkiytyy huomattavasti olioita käytettäessä. Proceduraalisella tyylillä isosta ohjelmasta tulee helposti sekava ja vaikeasti ylläpidettävä. Olio-ohjelmointia käytettäessä ohjelma jakautuu helpommin hallittaviin palikoihin. Olioita käytävissä ohjelmissa on myös yleensä helpompi korvata jokin palika toisella ilman että muuhun ohjelmaan tarvitsee tehdä muutoksia. Yksi suuri etu on myös mahdollisten virheiden paikallistamisen helpottuminen.
- Luokkia ja olioita käytettäessä voidaan piilottaa muulta ohjelmalta ohjelmapalikan sisäinen toteutus. Yleensä ohjelmamokkulaa käyttävän sovelluksen ei tarvitse tietää miten se mokkula on toteutettu, riittää että ohjelma tietää rajapinnan millä sitä käytetään. Jokaisella oliolla voi olla ominaisuuksia (atribuutteja), jotka vastaa muuttujia proceduraalisessa ohjelmoinnissa. Lisäksi oliolla on yleensä joukko toimintoja (metodeita), jotka vastaa funktioita proceduraalisessa ohjelmoinnissa. Atribuuttien ja metodien käsitely voidaan myös rajata siten että olion ulkopuolelta niihin käsiksi pääseminen voi olla rajotttua. Esim jokin metodi voi olla käytettävissä vain luokasta perityille ns aliluokille ja muille estetty.