فئة التغليف البدائية في جافا

في البرمجة كائنية التوجه ، تُعرَّف فئة التغليف بأنها فئة تُغلِّف أنواع البيانات ، بحيث يمكن استخدام هذه الأنواع لإنشاء كائنات وأساليب في فئة أخرى تحتاج إلى هذه الأنواع. لذا، فإن فئة التغليف البدائية هي فئة تُغلِّف أنواع البيانات من الأنواع البدائية الثمانية ، [ 1 ] بحيث يمكن استخدامها لإنشاء كائنات مُنشأة مع أساليب في فئة أخرى أو في فئات أخرى. [ 2 ] [ 3 ] توجد فئات التغليف البدائية في واجهة برمجة تطبيقات جافا (Java API) .

تُستخدم فئات التغليف الأولية لإنشاء كائن Objectيحتاج إلى تمثيل الأنواع الأولية في Collectionالفئات (أي في واجهة برمجة تطبيقات Java)، وفي java.utilالحزمة، وفي حزمة java.lang.reflectالانعكاس . فئات المجموعات هي فئات مُعرَّفة في واجهة برمجة تطبيقات Java، ويمكنها تخزين الكائنات بطريقة مشابهة لكيفية تخزين هياكل البيانات مثل المصفوفات لأنواع البيانات الأولية مثل int و double و long و char ، إلخ، [ 2 ] ولكن المصفوفات تُخزِّن أنواع البيانات الأولية، بينما تُخزِّن المجموعات الكائنات فعليًا.

الفئات الأساسية للتغليف وأنواعها الأساسية المقابلة هي:

النوع الأوليفئات التغليفوسائط المُنشئ
byteBytebyteأوString
shortShortshortأوString
intIntegerintأوString
longLonglongأوString
floatFloatfloat، doubleأوString
doubleDoubledoubleأوString
charCharacterchar
booleanBooleanbooleanأوString

الفرق بين فئات التغليف والأنواع الأولية

لا تُعدّ فئات التغليف البدائية هي نفسها الأنواع البدائية. فبينما يمكن تعريف المتغيرات، على سبيل المثال، في جافا كأنواع بيانات مثل double و short و int ، إلخ، فإن فئات التغليف البدائية تُنشئ كائنات وأساليب مُنشأة ترث أنواع البيانات البدائية ولكنها تُخفيها، على عكس المتغيرات التي تُسند إليها قيم أنواع البيانات. [ 2 ]

لذا، فإن مصطلح " فئة التغليف البدائية" لا يعني أن فئات التغليف هي أنواع بدائية. بل يُفهم على أنها فئة تُغلّف الأنواع البدائية. يمكن استخدام فئات التغليف لتخزين نفس قيمة متغير من نوع بدائي، لكن كائنات فئات التغليف نفسها ليست بدائية . لا يمكننا القول إن فئات التغليف نفسها هي أنواع بدائية، فهي ببساطة تُغلّف الأنواع البدائية.

تُعتبر الفئات Byte, Short, Integer, Long, Float, و Doublewrapper جميعها فئات فرعية من Numberالفئة .

لا تُعدّ فئات التغليف من فئات التغليف الأولية، ولكنها غير قابلة للتغيير BigDecimal. [ 4 ] [ 5 ]BigInteger

فئات التغليف الذرية

مع إصدار Java 5.0، أُضيفت فئات تغليف إضافية إلى java.util.concurrent.atomicالحزمة. هذه الفئات قابلة للتغيير ولا يمكن استخدامها كبديل لفئات التغليف العادية. بدلاً من ذلك، توفر عمليات ذرية للجمع والزيادة والإسناد.

فئات التغليف الذرية وأنواعها المقابلة هي:

النوع الأوليفئات التغليف
intAtomicInteger
longAtomicLong
booleanAtomicBoolean
VAtomicReference<V>

تُعدّ الفئتان AtomicIntegerو AtomicLongفئات فرعية من Numberالفئة . AtomicReferenceتقبل الفئة مُعامل النوع الذي يُحدد نوع مرجعV الكائن . (انظر " الأنواع العامة في جافا " للاطلاع على وصف مُعاملات النوع في جافا).

انظر أيضاً

مراجع

  1. إس جيه تشابمان، مقدمة إلى جافا ، برنتيس هول، 1999.
  2. 1 2 3 ج. موراش، برمجة جافا لموراش ، الطبعة الرابعة، مايك موراش وشركاه، 2011.
  3. جيه آر هوبارد، البرمجة باستخدام جافا ، سلسلة شوم أوتلاين/ماكجرو هيل، 1998.
  4. ديفيد أوميرا (أبريل 2003). "الكائنات القابلة للتغيير وغير القابلة للتغيير: ما هي الفئات غير القابلة للتغيير؟" . جافا رانش . تم الاسترجاع في 14 مايو 2012. الفئتان java.math.BigInteger و BigDecimal ليستا غير قابلتين للتغيير أيضًا، على الرغم من أنه ربما كان ينبغي أن تكونا كذلك.
  5. أوراكل. "وثائق جافا من أوراكل" . أعداد صحيحة غير قابلة للتغيير ذات دقة عشوائية.