java structures هل البنية دعم جافا؟




data structure pdf (7)

هل لدى Java تناظري بنية C ++:

struct Member {
  string FirstName; 
  string LastName;  
  int BirthYear; 
};

أحتاج إلى استخدام نوع البيانات الخاصة بي.


Answer #1

في الواقع ، البنية في C ++ هي فئة (على سبيل المثال يمكنك تحديد أساليب هناك ، يمكن أن يتم توسيعها ، تعمل تمامًا مثل الفصل الدراسي) ، والفرق الوحيد هو أنه يتم تعيين مبدلات الوصول الافتراضية للجمهور (بالنسبة للصفوف التي تم تعيينها إلى خاصة بشكل افتراضي).

هذا هو الفرق الوحيد في C ++ ، العديد من الناس لا يعرفون ذلك. . )


Answer #2

أعتقد أن بنية C # أكثر تشويقاً عند مقارنتها بفئة Java bean بعض الأشخاص المذكورين أعلاه. لدى بنية C # ميزة واحدة: إنها غير قابلة للالغاء. في C # ، Int32 ، Int64 هي هياكل لكنها تتصرف مثل النوع البدائي لذا فهي أكثر أمانًا للملاكمة / عدم الوصول. في المقابل ، Java Integer هي فئة ، يصبح الأمر محرجًا عند autoboxing / unboxing an int variable لأنك لن تعرف ما إذا كنت ستكون محمص حتى وقت متأخر جدًا من وقت التشغيل.


Answer #3

لا تحتوي Java على تناظري على بنية C ++ ، ولكن يمكنك استخدام الفئات مع جميع الأعضاء.


Answer #4

Java definitively لا يوجد لديه هياكل :) ولكن ما تصف هنا يبدو وكأنه نوع من أنواع JavaBean.


Answer #5

نعم ، الصف هو ما تحتاجه. يحدد الفصل نوعًا خاصًا به.


Answer #6

لا يتم دعم الهياكل "حقًا" في جافا. على سبيل المثال ، يدعم C # تعريفات struct التي تمثل القيم ويمكن تخصيصها في أي وقت.

في Java ، الطريقة الفريدة للحصول على تقريب لـ C ++ structs

struct Token
{
    TokenType type;
    Stringp stringValue;
    double mathValue;
}

// Instantiation

{
    Token t = new Token;
}

دون استخدام (المخزن المؤقت الثابت أو قائمة) هو القيام بشيء مثل

var type = /* TokenType */ ;
var stringValue = /* String */ ;
var mathValue = /* double */ ;

لذلك ، ببساطة تخصيص المتغيرات أو تحديدها بشكل ثابت في فئة.


Answer #7

ما يعادل في جافا إلى بنية سيكون

class Member
{
    public String FirstName; 
    public String LastName;  
    public int    BirthYear; 
 };

وليس هناك خطأ في ذلك في الظروف المناسبة. كثيرًا كما هو الحال في لغة C ++ حقاً من حيث متى تستخدم الآيات التركيبية عندما تستخدم فصلًا يحتوي على بيانات مغلفة.





data-structures