English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift الفئة

الفئة 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