📖 ما هو OOP؟
الـ OOP طريقة لتنظيم الكود باستخدام Classes و Objects:
- Class → القالب أو التصميم (مثل مخطط سيارة)
- Object → نسخة حقيقية من القالب (سيارة فعلية)
- Properties → خصائص الكائن (اللون، الموديل)
- Methods → أفعال الكائن (يقود، يوقف)
🔒
Encapsulation
إخفاء البيانات الداخلية
🧬
Inheritance
الوراثة من Class أب
🎭
Polymorphism
نفس الاسم، سلوك مختلف
🧪 محاكي Classes التفاعلي
📐 قالب Class: Student
Property
public string $name
Property
private array $grades
Method
getAverage(): float
🏭 إنشاء Objects
اضغط "إنشاء Object" للبدء
💻 كود OOP
class Student {
public string $name;
private array $grades = [];
public function __construct(string $name) {
$this->name = $name;
}
public function addGrade(float $grade): void {
$this->grades[] = $grade;
}
public function getAverage(): float {
if (empty($this->grades)) return 0;
return array_sum($this->grades) / count($this->grades);
}
public function getInfo(): string {
$avg = number_format($this->getAverage(), 1);
return "{$this->name} - المعدل: $avg";
}
}
$student = new Student("أحمد");
$student->addGrade(90);
$student->addGrade(85);
$student->addGrade(95);
echo $student->getInfo();
class GraduateStudent extends Student {
public string $thesis;
public function setThesis(string $title): void {
$this->thesis = $title;
}
}
🧪 جرّب بنفسك
النتيجة ستظهر هنا...
⚠️ أخطاء شائعة
| الخطأ | السبب | الحل |
نسيان $this-> | PHP ما تعرف المتغير | استخدم $this->property |
private property من خارج الكلاس | خطأ Fatal | استخدم getter method |
نسيان __construct | ما يحتاج constructor اختياري | ضعه لو تحتاج تهيئة |