ما هي فئة وكائن في جولانج؟

Ma Hy Fyt Wkayn Fy Jwlanj



الأفكار الأساسية في برمجة الكمبيوتر مثل فصل و هدف توفير هيكل لتجميع التعليمات البرمجية في وحدات قابلة لإعادة الاستخدام وقابلة للتكيف. جولانج لها تركيبها وميزاتها وفلسفتها المميزة. على عكس اللغات الأخرى ، فإن الحل ليس واضحًا عندما يتعلق الأمر بمفاهيم فصل و هدف في يذهب . في هذه المقالة ، سوف نستكشف ما إذا كان لدى Go مفهوم فصل و هدف وكيف تقارن مع لغات البرمجة الأخرى.

ما هي فئة وكائن؟

قبل أن نتمكن من الإجابة عما إذا كان يذهب لديه الطبقات و أشياء ، نحتاج أولاً إلى تحديد ما هي في سياق البرمجة. أ فصل هو نموذج أو قالب يحدد خصائص وإجراءات مجموعة أشياء . ان هدف تم إنشاؤه كمثيل لملف فصل عند تخصيص الذاكرة وتهيئة حالتها في وقت التشغيل. الطبقات و أشياء هي اللبنات الأساسية في لغات البرمجة الموجهة للكائنات مثل Java أو C ++ أو C # التي تدعم تعدد الأشكال والوراثة والتغليف.

الهياكل في جولانج

في اذهب ، فصول يتم استبدالها بأنواع بيانات محددة من قبل المستخدم تسمى الهياكل. هؤلاء الهياكل الجمع بين عناصر أو خصائص متعددة والسماح بإدراج الطرق - الوظائف التي تعمل على مثيلات هيكل. بينما الهياكل مشاركة بعض أوجه التشابه مع الطبقات مثل الوراثة والواجهات ، هناك أيضًا اختلافات ملحوظة. على سبيل المثال، يذهب ليس لديه مُنشئ - طريقة فريدة تقوم بتهيئة حالة الكائن عند الإنشاء ، كما هو موجود عادةً في اللغات القائمة على الفئات.







واجهات في جولانج

يذهب لديها مفهوم يشبه أشياء : واجهات . ان واجهه المستخدم عبارة عن مجموعة من الأساليب التي تصف سلوكًا أو وظيفة ، ولكن دون تحديد كيفية تنفيذها. واجهات توفر طريقة لتحقيق تعدد الأشكال في يذهب ، مما يسمح باستخدام أنواع مختلفة بالتبادل إذا كانت تفي بمتطلبات الواجهة. هذا مفهوم قوي يمكّن يذهب لتحقيق درجة عالية من المرونة والتوسعة دون التضحية بالأداء أو البساطة.



استخدام الهياكل والواجهات في Golang

يوضح المثال التالي استخدام هيكل و واجهات في يذهب .



الحزمة الرئيسية
يستورد 'FMT'

اكتب الإنسان هيكل {
سلسلة الاسم
}

اكتب عامل هيكل {
بشر
سلسلة العمل
}

func ( ح الإنسان ) معلومات ( ) {
FMT. برنتف ( 'أنا٪ s ' و ح. اسم )
}

func ( w عامل ) معلومات ( ) {
FMT. برنتف ( 'أنا٪ s. أنا٪ s. ' و في. اسم و في. وظيفة )
}

اكتب واجهة الشخص {
معلومات ( )
}
funcmain ( ) {
جون : = عامل { بشر { 'جون' } و 'عامل' }
ظبية : = بشر { 'الفلاني' }

جون. معلومات ( )
ظبية. معلومات ( )

كان في شخص

أنا = جون
أنا. معلومات ( )

أنا = ظبية
أنا. معلومات ( )
}

لقد خلقنا اثنين الهياكل و بشر و عامل ، في الكود أعلاه. ثم يتم إنشاء الوظائف التي تطبع الرسائل. ال الهياكل تسمى في رئيسي () وظيفة شخص واجهه المستخدم . يمكننا أن نرى أن معلومات الطريقة التي تم تنفيذها من قبل كل من عامل و ال بشر ، لذلك المتغير i مع النوع شخص ستعمل الواجهة بشكل صحيح وستقوم بطباعة الإخراج.





انتاج |



يذهب لديه نهج فريد من نوعه التغليف . التغليف يتم إنجازه في البرمجة الكائنية التقليدية عن طريق جعل الحقول خاصة وجعلها متاحة من خلال أساليب getter و setter. في يذهب و التغليف يتم تحقيقه باستخدام أسماء الحقول الصغيرة ، والتي تكون مرئية فقط داخل نفس الحزمة. هذه الإستراتيجية أكثر وضوحًا ولا لبس فيها ، مما يجعل من الأسهل فهم كيفية تصرف الكود ويقلل من احتمالية حدوث آثار جانبية غير متوقعة.

يذهب يوفر شكل مبسط من تعدد الأشكال . البرمجة الشيئية لها ميزة تسمى تعدد الأشكال التي تمكن الكائنات من فئات مختلفة ليتم التعامل معها على أنها مثيلات من نفس الفئة. يذهب لا يوفر الوراثة التقليدية القائمة على الطبقة ، ولكنه يدعم الواجهات ، والتي يمكن استخدامها لتحديد مجموعة من الأساليب التي يجب أن تنفذها البنية. يذهب تقدم أيضًا تأكيدات على النوع ، والتي تسمح للمبرمجين بفحص محتوى متغير الواجهة والحصول على القيمة الملموسة الأساسية.

خاتمة

يذهب لا يملك الطبقات أو أشياء بالمعنى الكلاسيكي بدلا من ذلك ، فإنه يستخدم الهياكل و واجهات ، والتي توفر وظائف قابلة للمقارنة بطريقة أكثر وضوحًا وخفة الوزن. يذهب اكتسب شعبية بين المطورين الذين يعطون الأولوية للبساطة وسهولة القراءة والأداء من خلال تبني فلسفة وقواعد مختلفة. على الرغم من التعرف اذهب قد تستغرق المنهجية بعض الوقت ، حيث تؤدي سماتها المميزة وتصميمها إلى كود أكثر فعالية وقابلية للصيانة.