ما هي البرمجة الكيانية الموجهة (OOP)



الـ (OOP ) هي اختصار للكلمة (Object Oriented Programming) اي البرمجة الكيانية الموجهة وهي عبارة عن هيكلية توجد في معظم لغات البرمجة عالية المستوي وتوجد بعض اللغات مثل الجافا ولغة السي ++ تجبر المستخدم علي استخدام هذه المعمارية لكي يتمكن من تشغيل كود معين.

وتتمثل هذه الهيكلية في مجموعة من الكلمات الرئيسية مثل 
  • Class
  • Object
  • Field
  • Contractor
  • Distractor
  • Getter
  • Setter
  • Method

لكل مفهوم من هذه المفاهيم وضعه في شرح مفهوم الـ (OOP)، حيث ان الـ (Class) تعتبر كيان معين، مثل الأنسان هو كيان معين، ان اردنا ان نصف الانسان فسوف نقوله ان اي انسان (Class) لديه اسم (Field) وهذا الاسم لابد ان يكون في أي انسان (Contractor) وفي حالة موت هذا الانسان لابد ان تظهر له شهادة وفاة (Distractor) ولكي اعرف اسمه يجب ان أساله (Getter) وعندما يولد اضع له اسم معين (Setter) والعالم ليس به انسان واحد بل يمكن ان يكون به اكثر من انسان لذلك توجد خاصية الوراثة او ما يعرف بالـ (Inheritance) اي يمكن ان يكون فادي انسان له نفس صفات الانسان وكذلك احمد انسان لسه نفس صفحات الانسان ويمكن ان اجبر واحدد لكل (Class) مجموعة من العناصر الاساسية التي يجب ان يستخدمها كل انسان مثل العمر وهنا يظهر مفهوم الـ (Method) ويمكن ان اجعل كل شخص لابد ان يقول عمره عن طريق جعل هذه ال (Class) قابلة للوراثة مع (Methods) معينة مثل حساب العمر عن طريقة خاصية الـ (Abstract)

وتظهر فائدة استخدام البرمجة الكيانية الموجهة في تسهيل عملية استخدام الكود وتسهيل تطويره واكتشاف الاخطاء عند برمجة المشروعات الكبيرة بسهولة ويمكن ان يظهر الكود البرمجي للمثال السابق في لغة (PHP) كالتالي:

class Human {
//Fields
privite $name;
privite $age;
privite $color;
privite $country;
privite $city;
//Contractor
public function __contractor(){
$this->name = $name;
$this->age = $age;
$this->color = $color;
$this->country = $country;
$this->city = $city;
}
//Distractor
public function __distractor {
unset($this->name);
unset($this->age);
unset($this->color);
unset($this->country);
unset($this->city);
}
//Setter
public function setAge($name){
$this->name = $name;
}
public function setName($age){
$this->age = $age;
}
public function setName($color){
$this->color = $color;
}
public function setName($country){
$this->country = $country;
}
public function setName($city){
$this->city = $city;
}
//Getter 
public function getAge($name){
return $name;
}
public function getName($age){
return $age;
}
public function getName($color){
return $color;
}
public function getName($country){
return $country;
}
public function getName($city){
return $city;
}
}
تعليقات
ليست هناك تعليقات
إرسال تعليق



    وضع القراءة :
    حجم الخط
    +
    16
    -
    تباعد السطور
    +
    2
    -