الملفات الخارجية
جزء من قسم Object Oriented Programming في رحلة C# على Coddy — الدرس 1 من 70.
تتيح لك الملفات الخارجية تنظيم الفئات (classes) الخاصة بك في ملفات C# منفصلة والإشارة إليها في برنامجك الرئيسي باستخدام مساحات الأسماء (namespaces).
أنشئ ملف C# منفصل باسم MyClass.cs
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}قم بالإشارة إلى مساحة الاسم في ملفك الرئيسي
using MyApp;أنشئ مثيلاً واستخدمه
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());المخرجات:
Hello, I'm Aliceتسمح لك جملة using MyApp; باستخدام الفئات من مساحة الأسماء MyApp دون الحاجة إلى كتابة الاسم الكامل لها. تقوم مساحة الأسماء بتجميع الفئات ذات الصلة معاً، ويجب أن تكون الفئات public لتكون قابلة للوصول من ملفات أخرى.
التحدي
متوسطلقد تم تزويدك بملفات C# (MyClass.cs و Program.cs)، أضف عبارة using في ملف Program.cs لربط الملفات واستخدام الفئة من الملف الخارجي!
ورقة مرجعية
تسمح لك الملفات الخارجية بتنظيم الفئات (classes) في ملفات C# منفصلة والإشارة إليها باستخدام مساحات الأسماء (namespaces).
قم بإنشاء ملف C# منفصل مع مساحة أسماء:
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}قم بالإشارة إلى مساحة الأسماء في ملفك الرئيسي باستخدام عبارة using:
using MyApp;قم بإنشاء مثيل (instance) واستخدمه:
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());
// المخرجات: Hello, I'm Aliceيجب أن تكون الفئات public لتكون قابلة للوصول من ملفات أخرى. تسمح لك عبارة using باستخدام الفئات من مساحة أسماء دون الحاجة إلى كتابة الاسم الكامل لها.
جرّب بنفسك
// TODO: استبدل ? بمساحة الاسم الصحيحة لاستخدام MyClass
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// قم بإنشاء مثيل من MyClass واستدعاء GetMessage()
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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