Application of OOP principles in the PHP programming language

Abstract

Objektno orijentirano programiranje (ili OOP) jedan je od mogućih pristupa programiranju koji je računalnim stručnjacima pružio novu sintaksu, ali i novi način razmišljanja o programskim problemima. Dva temeljna pojma OOP-a su klase i objekti. Klasa je razred koji definira varijable i metode zajedničke skupini objekata, a objekti su instance klase. Objekt može biti bilo koji predmet ili pojam iz stvarnog ili apstraktnog svijeta. Načela koja ga karakteriziraju su učahurivanje, nasljeđivanje i polimorfizam. Učahurivanje (ili enkapsulacija) odnosi se na štićenje podataka koji nisu namijenjeni za korištenje i mijenjanje iz drugih klasa. Tri tipa vidljivosti pomoću kojih se učahurivanje koristi su javna, zaštićena i privatna. Nasljeđivanje omogućuje da jedna klasa naslijedi sve metode, karakteristike i ponašanje neke druge klase, a polimorfizam programeru daje mogućnost definiranja nekoliko metoda istim imenom,a svaka kao parametre prima objekte različitih tipova. OOP principi nalaze svoju primjenu u brojnim programskim jezicima, a jedan od nih je i PHP programski jezik. Njegov naziv temelji se na rekurzivnoj definiciji PHP: Hypertext preprocessor, no ta definicija se gotovo više niti ne koristi. Svi principi objektno-orijentiranog programiranja su primjenjivi u PHP-u na te olakšavaju programerima proces razvoja aplikacija. Klase se kreiraju pomoću ključne riječi class, objekti pomoću riječi new. Vidljivost se definira riječima public, protected i private, ovisno o potrebi. Klase nasljeđuju pomoću riječi extends, a polimorfizam se očituje u definiranju funkcija istog imena, ali različitih svojstava. Trenutna inačica, PHP5, ima zaista dobru podršku OOP-a što mu omogućuje lakšu ponovnu upotrebu koda, bolju razvijenost timskog rada, neki uzorci vode do puno učinkovitijeg koda i više odgovara marketinškim potrebama

Similar works

Full text

thumbnail-image

Repository of the Faculty of Humanities and Social Sciences Osijek

redirect
Last time updated on 07/05/2019

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.