You are on page 1of 14

КОНЦЕПТ ЗА

ОБЈЕКТНО – ОРИЕНТИРАНО
ПРОГРАМИРАЊЕ
ДА СЕ ПОДСЕТИМЕ НА ПОДЕЛБАТА НА ВИШИТЕ ПРОГРАМСКИ
ЈАЗИЦИ СПОРЕД НАЧИНОТ НА ПРЕСМЕТУВАЊЕ
IMPERATIVNI DEKLARATIVNI

PROCEDURALNI OBJEKTNO FUNKCISKI LOGIСKI


ORIENTIRANI

PASCAL C++ MIRANDA PROLOG


C JAVA HASKELL

BASIC DELPHI LIPS

FORTRAN SIMULA SCHEME

EIFFEL ML

Во процедуралните јазици процедурите со кои се обработуваат


податоците се одвоени од влезните податоци.
Во објектно-ориентираните јазици процедурите се скриени во
самите објекти, односно секој објект има свои методи кои
можат да се применат само на неговите податоци.
Првиот објектно ориентиран програмски јазик е јазикот Simula
67 кој е создаден во 1960 година. Во него за прв пат се воведени
објектите и класите како градбени делови во програмите.
Објектно-ориентирано програмирање
• Ние го набљудуваме светот како свет од објекти.
Погледнете наоколу и ќе забележите столица, маса,
компјутери, ученици, фудбалери, топки, автомобили ...
Сите тие објекти имаат свои карактеристики кои можат да
се запишаат со податоци( атрибути).
Секој објект си има свои задолженија( операции што може
да ги извршува) според некоја метода.
Објектите се поврзани меѓу себно на овој или оној начин,
тие меѓусебно соработуваат за да извршат некоја задача.
• Објектно-ориентираното програмирање се обидува да го
имитира реалниот светот, притоа дизајнирајќи објекти што
меѓусебно соработуваат за да решат дадена задача.
(Објектите всушност претставуваат апстранкта слика на предметите од реалниот свет)

предмет објект
автомобил од реалниор свет автомобил од видео игра
Објектот во програмските јазици преставува целина
од податоците(атрибутите) што го опишуваат
објектот и методите (функциите) што се извршуваат
врз тие податоци.

Објект = податоци + методи

-Плоштина на
Пример 1
Страните а, b и c тријаголникот,
- периметарот на
тријаголникот

Пример 2
Ученик = оцените + просекот
Во објектно ориентираното програмирање,
програмерите ја гледаат програмата како колекција на
објекти кои меѓу себе си дејствуваат.
КЛАСА
Со набљудување на објектите може да се забележи
дека некои објекти имаат исти карактеристики.
Класата е множество на објекти што делат исти
карактеристики, однесувања и релации.

Класата може да се замисли како шаблон од која што


може да се генерираат ризлични индивидуални објекти
додека работи програмата.

Пример за класа : класа ученици во која еден објект е


еден ученик, класа тријаголници во која еден објект е
еден тријаголник.
Предности на објектно-
ориентираното програмирање (ООП)
 OOП е полесно за учење за почетници во споредба со
другите концепти на програмирање,
 Преминот од проблеми во реалниот свет кон објекти е
едноставен, бидејќи постои директно пресликување од
реалниот свет во објектно-ориентирани програми,
 ООП промовира поголема флексибилност и одржливост
на програмите, и е многу популарно во софтверското
инженерство,
 Објектите претставуваат компоненти што можат да се
вметнат во повеќе апликации и со тоа да се заштеди
време.
/*da se presmeta plostina i perimetar na pravoagolnik
so koristenje na klasa pravoagolnik*/
#include<iostream>
using namespace std;

class pravoagolnik{
public:
    float plostina(float a, float b){
        float p=a*b;
        return p;
    }

    float perimetar(float a, float b){


        float l=2*(a+b);
        return l;
    }
};
int main()
{
    float a, b;
    pravoagolnik obj;

    cout<<"Vnesi dimenzii na pravoagolnik: ";


    cin>>a>>b;

    cout<<"Plostina: "<<obj.plostina(a, b)<<endl;


    cout<<"Perimetar: "<<obj.perimetar(a, b);

    return 0;
}
•Пресмета плоштина и волумен на коцка ако е
дадена нејзината страна.(Користи конструктори.)
#include<iostream>
using namespace std;
class kocka
{
private:
    double strana;
public:
    kocka(double a)
    { setStrana(a);}

    void setStrana(double a){


        strana=a; }

    double getplostina(){
        return 6*strana*strana; }

    double getvolumen(){


        return strana*strana*strana; }
};
int main()
{
    kocka obj(2.5);
    cout<<"Za kocka so strana:
"<<obj.getStrana()<<endl;
    cout<<"Plostinata e:
"<<obj.plostina()<<endl;
    cout<<"Volumenot e:
"<<obj.volumen();

    return 0;
}

You might also like