مقدمة في Classes و Objects
جزء من قسم Object Oriented Programming في رحلة C# على Coddy — الدرس 3 من 70.
الفئة (class) هي مخطط لإنشاء الكائنات. الكائن (object) هو مثيل لفئة تحتوي على بيانات وسلوك.
تعريف فئة بسيطة بخصائص
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}أضف منشئًا (constructor) لتهيئة الكائن
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}أضف دالة (method) لتعريف السلوك
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
public string Bark()
{
return $"{Name} says Woof!";
}
}إنشاء كائن (نسخة) واستخدامه
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");المخرجات:
Buddy says Woof!
Age: 3تُنشئ الكلمة الأساسية new مثيلاً من الفئة (class)، مع استدعاء المُنشئ (constructor). يمكنك إنشاء كائنات متعددة من نفس الفئة، كل منها ببيانات مختلفة.
التحدي
سهلأكمل فئة Car بإضافة منشئ (constructor) وتابع Drive(). ثم قم بإنشاء كائن Car في Program.cs واستخدمه.
يجب أن يعيد التابع Drive() القيمة: "The {Brand} is driving!"
ورقة مرجعية
الفئة (Class) هي مخطط لإنشاء الكائنات (Objects). الكائن هو مثيل للفئة يحتوي على البيانات والسلوك.
تعريف فئة بخصائص:
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}إضافة منشئ (Constructor) لتهيئة الكائن:
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}إضافة دوال (Methods) لتعريف السلوك:
public string Bark()
{
return $"{Name} says Woof!";
}إنشاء كائن باستخدام الكلمة المفتاحية new:
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");جرّب بنفسك
using System;
class Program
{
static void Main()
{
string brand = Console.ReadLine();
int year = int.Parse(Console.ReadLine());
// TODO: قم بإنشاء كائن Car باستخدام قيم الإدخال
// TODO: اطبع "Car: {brand} ({year})"
// TODO: استدعِ الطريقة Drive() واطبع النتيجة
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Object Oriented Programming
1أساسيات OOP
الملفات الخارجيةNamespaces والتوجيهاتمقدمة في Classes و Objectsالكلمة المفتاحية 'this'Methods والمعاملاتFields مقابل PropertiesConstructorsObject Initializersمراجعة - آلة حاسبة بسيطة4الوراثة
صيغة الوراثة الأساسية (:)الكلمة المفتاحية 'base'الكلمات المفتاحية Virtual و Overrideالأصناف المختومة (Sealed Classes)الفئة الأساسية 'object'مراجعة - هيكلية الموظفين7ميزات متقدمة
تحميل العوامل (Operator Overloading)المفهرسات (Indexers (this[]))إعادة تعريف ()ToStringدوال التوسعة (Extension Methods)ملخص - Custom List2الخصائص والأعضاء الساكنة (Static Members)
الخصائص المطبقة تلقائيًا (Auto-Implemented Properties)خصائص القراءة فقط والكتابة فقطالحقول والدوال الساكنة (Static)الفئات الساكنة (Static Classes)الأعضاء ذات البنية التعبيرية (Expression-Bodied Members)5تعدد الأشكال والواجهات (Polymorphism & Interfaces)
تعدد الأشكال: وقت التجميع مقابل وقت التشغيلالواجهة مقابل الفئة المجردة (Abstract Class)الواجهات المتعددةالواجهات الصريحةUpcasting و Downcastingملخص - حاسبة الأشكال8مفاهيم البرمجة كائنية التوجه (OOP) المتقدمة
التركيب بدلاً من الوراثةالـ Generics (الأصناف والدوال)الـ Delegates والأحداثالـ Attributes والـ Reflectionواجهة IDisposable وجملة usingأساسيات Dependency Injection