English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
الفئة Swift هي بنية بنائية شاملة ومرنة تستخدم لبناء الكود.
يمكننا تعريف الخاصيات (المستقرة، المتغيرة) والأساليب للفئات.
مختلف عن لغات البرمجة الأخرى، لا يتطلب Swift منك إنشاء ملفات واجهة وإنشاء ملفات التنفيذ المستقلة للفئات المخصصة. ما يجب عليك القيام به هو تعريف الفئة في ملف واحد، وسيقوم النظام تلقائيًا بإنشاء واجهة خارجية للكود الآخر.
Swift والفئاتالنوع البنيويهناك الكثير من النقاط المشتركة. النقاط المشتركة هي:
تعريف الخاصية لتحديد القيمة
تعريف الطريقة لتحديد الوظيفة
تعريف المكونات الثانوية لتحديد الوصول إلى القيم
تعريف المكونات الأساسية لإنشاء قيم التأسيس
من خلال التوسيع لزيادة الوظائف المدمجة
التوافق مع الاتفاقيات لتقديم ميزات قياسية للفئة
على عكس الكيانات، تحتوي الفئات أيضًا على الميزات التالية:
الوراثة يسمح لفئة بوراثة خصائص أخرى
تحويل النوع يسمح بفحص وتفسير نوع مثال الفئة في وقت التشغيل
المعالج المدمج يسمح لمثال الفئة بإطلاق أي موارد تم تخصيصها له
عدد الارتباطات يسمح بالارتباط المتكرر لفئة
class classname { تعريف 1 تعريف 2 …… تعريف 1 {}
class student{ var studname: String var mark: Int var mark2: Int {}
مثال على الفئة:
let studrecord = student()
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark {} {} class studentMarks { var mark = 300 {} let marks = studentMarks() print("الدرجة هي \(marks.mark)")
نتيجة تنفيذ البرنامج أعلاه هي:
الدرجة هي 300
يمكن الوصول إلى خصائص الفئة كأنواع استدلالية . للوصول إليها. النمط هو:اسم الفئة.اسم الخاصية:
import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark {} {} class studentMarks { var mark1 = 300 var mark2 = 400 var mark3 = 900 {} let marks = studentMarks() print("Mark1 هو \(marks.mark1)") print("Mark2 هو \(marks.mark2)") print("Mark3 هو \(marks.mark3)")
نتيجة تنفيذ البرنامج أعلاه هي:
Mark1 هو 300 Mark2 هو 400 Mark3 هو 900
بما أن الفئات هي أنواع استدلالية، فإنه من الممكن أن يكون هناك عدة معادلات أو متغيرات تشير إلى نفس مثال الفئة في الخلفية.
لتحديد ما إذا كانت إثنين من المعادلات أو المتغيرات تشير إلى نفس مثال الفئة، قدم Swift إثنين من عمليات الحساب المتطابقة المدمجة:
عنصر الحساب المتطابق | عنصر الحساب غير المتطابق |
---|---|
عنصر الحساب هو: === | عنصر الحساب هو: !== |
إذا كانت إثنين من المعادلات أو المتغيرات تشير إلى نفس الفئة، فإنه يعود بالصح | إذا كانت إثنين من المعادلات أو المتغيرات تشير إلى مثال على نفس الفئة، فإنه يعود بالصح |
import Cocoa class SampleClass: Equatable { let myProperty: String init(s: String) { myProperty = s {} {} func ==(lhs: SampleClass, rhs: SampleClass) -> Bool { return lhs.myProperty == rhs.myProperty {} let spClass1 = SampleClass(s: "Hello") let spClass2 = SampleClass(s: "Hello") if spClass1 === spClass2 {// false print("مثال على فئة متطابقة في الاستدلال \(spClass1)") {} if spClass1 !== spClass2 {// true print("مثال على فئة مختلفة في الاستدلال - \(spClass2)") {}
نتيجة تنفيذ البرنامج أعلاه هي:
مثال على فئة مختلفة في الاستدلال - SampleClass