استكمالا لمسيرة الحملة الكائنية المتجهة التى بدأت هنـــا
نكمل مع بعض
هاندخل الان على نقطة مهمة الا وهو خصائص الكائن وكيف نعرف للكائن خصائص؟
يتم تعريف properties الخاصة بكائن عن طريق تعريف متغيرات خاصة توضع داخلة او كالاتى
كود PHP:
class first_class
{
var $name = "pxlat";
}
ملحوظة1 خصائص الكائن من الممكن ان تكون قيمة حرفية أو عددية او مصفوفة او حتى كائن اخر
ملحوظة2 تعريف المتغيرات يجب ان يتم عن طريق العبارة var والا... انت حر بقى
والان نستطيع ان نصل الى الخاصية name وتغيير قيمتها زى المثال القادم
كود PHP:
<?php
class first_class
{
var $name = "swalif";
}
$obj1 = new first_class();
$obj2 = new first_class();
$obj1->name = "pxlat";
print"$obj1->name<br>";
print"$obj2->name<br>";
?>
ملحوظة 1 تم تعديل الخاصية للكائن obj1 عن طريق العلامة <- والتى يمكن عن طريقها الوصول الى الخصائص المتفرعة من الكائن
معلومة:: يمكن استخدام الكائنات لتخزين البيانات المختلفة مثل المصفوفات ولكن بطريقة اكثر مرونة واكثر قوة
وسائل الكائن
يم ادخال الوسائل او ال Object Methods من الفئات classes الرئيسية عند انشاء اى كائن بالعبارة new() كما يتضح من المثال
كود PHP:
<html dir="rtl">
<head>
<title>تطبيق على وسائل الكائنات</title>
<body>
<?php
class first_class
{
var $name;
function sayHello()
{
print"مرحبا بك";
}
}
$obj1 = new first_class();
$obj1->sayHello();
//سيتم طباعة كلمة مرحبا بك
?>
</body>
</html>
لاحظ كيف تم الوصول الى الوسيلة التى تم تعريفها فى داخل الفئة وبنفس الطريقة نستطيع ان نصل الى الخصائص
مثــال
كود PHP:
<html dir="rtl">
<head>
<title>تطبيق على خصائص الكائنات</title>
<body>
<?php
class first_class
{
var $name = "pxlat";
function sayHello()
{
print"اهلا بكم انا اسمى $this->name<br>";
}
}
$obj1 = new first_class();
$obj1->sayHello();
//سيتم طباعة كلمة اهلا بكم انا اسمى pxlat
?>
</body>
</html>
لاحظ ايضا استخدام العبارة this التى تشير الى الكائن الحالى وبنفس الطريقة يمكن الوصول الى المتغيرات وتغيير قيمتها داخل الوسائل المعرفة من قبل
مثــال
كود PHP:
<html dir="rtl">
<head>
<title>تطبيق على تغيير خصائص الكائنات</title>
<body>
<?php
class first_class
{
var $name = "pxlat";
function setName($n)
{
$this->name = $n;
}
function sayHello()
{
print"اهلا بكم انا اسمى $this->name<br>";
}
}
$obj1 = new first_class();
$obj1->setName("mohamed");
$obj1->sayHello();
//سيتم طباعة كلمة اهلا بكم انا اسمى mohamed
?>
</body>
</html>
لاحظ انة تم تغيير قيمة الخاصية name وان الكائن قام بالتحكم فى الخاصية عن طريق تقديم الوسيلة setName() التى تستقبل معامل وهو الاسم تماما مثل الدوال العادية
معلومة هناك تقنية هامة تستخدم مع الفئات وهى امكانية انشاء وسيلة منشئة اى constructor method ويتم استدعائها تلقائيا عند انشاء الكائن اذا كان لها نفس اسم الفئة ويمكن ايضا للكائنات ان تقوم باستدعاء كود فى داخلها لكى تقوم بتمهيد نفسها
والان حان معاد النوم وان شاء الله غدا نكمل وسنبدأ بضرب مثال لاخر نقطة وشرحها تفصيليا ومن ثم ننتقل لنقطة اكثر اهمية الا وهى والسائل وانواعها