Thursday, 9 August 2018

Obyekt Yönümlü Proqramlaşdırma (Object Oriented Programming-OOP)

Bu prinsip ona əsaslanır ki, burada qarşıya çıxan hər bir məsələyə bir obyekt kimi baxılır. Bunun izahı üçün gətirilmiş bir çox tipik misal var. Firmadakı işçilər, tələbələr, maşınlar, heyvanlar və s. Mənim qarşıma çıxan ilk misal maşınlarla olduğu üçün mən də bunun üzərindən getmək istəyirəm.
Bir obyekt olaraq maşının bir xüsusiyyəti və davranışları var. Markası, modeli, ili, motor həcmi və s. onun xüsusiyyətlərini təşkil edir. Maşının hərəkətə başlaması, sürətini artırması, yavaşlaması, dayanması kimi də davranışları var. Buna proqramlaşdırma nöqteyi nəzərindən baxsaq, bu cür ifadə etmək olar:
Maşın-bir sinifdir.
Xüsusiyyətlərini dəyişənlər vasitəsilə ifadə edə bilərik.
Metodlar vasitəsilə də davranışlarını göstərərik.

public class Car
{
    String name;
    String model;
    int year;
    double engine;

    public void start()
    {
    }

    public void accelerate()
    {
    }

    public void stop()
    {
    }
}

Metodların nə edəcəyi istəyə uyğun formada yazıla bilər. Burada sadəcə ümumi skeleti göstərilib. Bu sinifdən ayrı ayrı nümunə obyektlər yaradıb onlara xas dəyərlər verdikdə hərəsinin öz xüsusiyyətləri olan fərqli, amma eyni sinfə aid obyektlər əldə etmiş olarıq. Metodlar da bu dəyərləri emal edəcək şəkildə yazılarsa, hər obyektin öz davranışı olacaq. Məsələn,

public static void main (String [] arg)
{
   //Car sinfindən bir nümunə yaradılır
   Car car=new Car();

   //Uyğun dəyişənlərə dəyərlər verilir.
   car.name="Mercedes Benz";
   car.model="C class";
   car.year=1995;
   car.engine=2.3;
   car.start();
   car.accelerate();
   car.stop();
}

Eyni qayda ilə bir çox məsələyə bu cəhətdən yanaşıb analogiya yaratmaq mümkündür.
OOP'nin abstraction, encapsulation, polymorphism, inheritance kimi prinsipləri var

1 comment: