← الرئيسية

🏗️ أساسيات OOP

الدرس التاسع — Classes, Objects, Properties, Methods, والوراثة

📖 ما هو OOP؟

الـ OOP طريقة لتنظيم الكود باستخدام Classes و Objects:

🔒
Encapsulation
إخفاء البيانات الداخلية
🧬
Inheritance
الوراثة من Class أب
🎭
Polymorphism
نفس الاسم، سلوك مختلف

🧪 محاكي Classes التفاعلي

📐 قالب Class: Student
Property
public string $name
Property
private array $grades
Method
addGrade(float)
Method
getAverage(): float

🏭 إنشاء Objects

🏭
Class Student
القالب
اضغط "إنشاء 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(); // أحمد - المعدل: 90.0 // الوراثة 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 اختياريضعه لو تحتاج تهيئة