الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

للنقاش:لماذا لا يوجد Struct في الجافا؟

بدأه al_samirr في 25 مايو 2008 · 36 رد · 3,250 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

من المعلوم ان الجافا ليس عندها struct فقط عندها class.

بمعنى -من وجهة نظري - انها حرمت المبرمج من استخدام ال struct وارغمته على اسخدام ال class في كل الحالات.

مع العلم ان ال struct من النوع value type وال class من النوع reference type والاول اسرع من الثاني

واقل استخداماً واشغالاً للموارد (الذاكرة) من الثاني.

فهل هذه الحركة وُفقت فيها الJava اما انها لم تُوفق.

اتمنى اجابات غير متحيزة. فكل اللغات هي تهمنا جميعاً كمبرمجين فاتمنى نقاش موضوعي علمي.

#2

لماذا لايوجد struct في الجافا ؟

لان الجافا OOP

وكل شئ تريد عمله لابد ان تعمله داخل الكلاس لايوجد global functions او شئ من هالقبيل

ولماذا تحتاج struct ؟

قد تكون اسرع منطقياً لان struct تخزن في الستاك ولكنها تاخذ حجم اكبر من الكلاس بالتاكيد

مثلاً

struct

تعريف متغيرين = حجز مساحه ل two structs  

class

تعريف متغيرين = حجز مساحه ل two reference only

لكن لااعتقد ان الجافا تضع struct فقط لان بعض المبرمجين ( يرونها ) اسرع من الكلاس

#3

السلام عليكم ورحمة الله وبركاته

,.,.,.,.,.,.,.,.,.,..,.,.,,.

بالضبط كما تفضل اخي الكريم Xline.. ولكن قبل كلمة OOP نضع كلمة Fully..بالفعل لأن لغة Java هي:

Fully Object-oriented Programming Language.

ولا يعني ان تلك اللغات التي تحتوي على هيكل struct هي ليست لغات OOP. مثل لغة ++C تحديداً..لا بالعكس

,.,.,.,.,.,.,.,.,.

ايضاً لغة مثل C يمكننا كتابة برنامج أو محاكاة برنامج له طابع OOP ولكن بطريقة صعبة وغير مباشرة.

,.,.,.,.,.,.,.

عموماً اللي اضافه اخي Xline تام وسليم..ولكن كنت حابة اضيف هذه النقطة فقط.

اطيب المُنى

:happy:

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#4
اقتباس
بمعنى -من وجهة نظري - انها حرمت المبرمج من استخدام ال struct وارغمته على اسخدام ال class في كل الحالات.

لاحظ اني ممكن اعرف class واحد فقط ... ثم في استخدمه كـ Object (و الـ Object هو Struct) في اي تطبيق و هذا ما يسمى بالـ resuibilty

فهل ممكن استخدام الـ Struct بهذا الشكل ؟

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#5

as i know no

u can't inherit from struct

#6
اقتباس
as i know no

u can't inherit from struct

And this is more than enough to be deeply in love with JAVA

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#7
رغـــــــــد كتب:

Fully Object-oriented Programming Language.

حتى نرضي الجميع وخصوصا حقين smalltalk بامكانك القول بان

Java 99.9% Object Oriented Programming Language.

لانها تحتوي على متغيرات بدائيه

#8
Xline كتب:
حتى نرضي الجميع وخصوصا حقين smalltalk بامكانك القول بان

Java 99.9% Object Oriented Programming Language.

لانها تحتوي على متغيرات بدائيه

So why not??. The Accuracy is important in such scientific issues... :happy:

بالمناسبة انا سعيدة لمشاركة اختي العزيزة بنت اليمن معنا..ان شاء الله تكوني بخير اختي؟

:happy:

,.,.,.,.,.,.,.

اطيب المُنى

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#9

تحية للجميع على المشاركة..

طبعاً ال struct لا يستطيع ان يغطي كل ما يمكن ان تغطيه الclass.

انا فقط اقصد في حالات معينة التي استطيع ان استخدم فيها الstruct و ليس هناك حاجة لل class

يعني الحالات التي يغنيني ال struct فيها دون اللجوء الى ال class

مازلت مصر اني كمبرمج محروم من الstruct في هذه الحالات المذكورة.....

قولك اخي Xline "لان الجافا OOP" هل تكنولوجيا ال OOP تمانع وجود ال struct ؟؟

لا اعتقد ذلك فلغات دوت نت كلها OOP و خيار ال struct موجود كنوع متغير عادي.

قولك "ولماذا تحتاج struct ؟"

احتاجه في بعض الحالات التي لا تستاهل ان استخدم فيها ال class.

فمن وجهة نظري في مثل هذه الحالات struct اولى من ال class للسبب الذي ذكرته وهو انه من

نوع value type وهذا النوع اسرع واخف على الذاكرة من النوع reference type

Xline كتب:
قد تكون اسرع منطقياً لان struct تخزن في الستاك ولكنها تاخذ حجم اكبر من الكلاس بالتاكيد

مثلاً

struct

تعريف متغيرين = حجز مساحه ل two structs

class

تعريف متغيرين = حجز مساحه ل two reference only

تكون two reference only في حالة نسخ الكائنات فقط ... اما اذا عرفت two objects فهما متغيرين ب two pointers في ال stack

و ب two objects في ال Heap

ولا يفوتنا مشكلة تراكم الobjects في جزء ال Heap بعد موت المتغيرات وهي مشكلة كبيرة ولو انها حُلت مؤخراً بتكنولولجيا ال Garbage collection

وهذه المشاكل كلها مش موجودة في النوع value type يعني انا في غنى عنها لو استخدمت هذا النوع.

الاخت رغد كما ذكرتي وجود ال struct لا ينافي تكنولوجيا ال OOP بدليل عالم دوت نت.

الاخت بنت اليمن اولاً انا ارى ان class اعم من struct لكن في حالات صغيرة ممكن استخدم ال struct دون اللجوء

الى ال class ومتاعبها في الRAM.

عبارتك "و الـ Object هو Struct" لم افهمها؟

لا تنسي ان ال struct نوع.... ومن هذا النوع ممكن اعرف متغيرات (objects) زيه زي ال class في خاصية ال reusibilty

قولك اخي "u can't inherit from struct " انا هنا لست بصدد اقارن بين مميزات ال struct و ال class من ناحية الوراثة وغيرها ... لا ... انما - كما هو واضح من كلامي - ان هناك حالات ممكن استخدم فيها ال struct دون اللجوء الى عالم ال class فلماذا حُرمت منه؟

تم تعديل هذه المشاركة بواسطة al_samirr في 25 مايو 2008 في 21:34

#10

اتصور اني فهمت قصدك اخي لكريم الآن ... انت تقول هناك حالات بسيطة لا تستدعي الجلبة (التي يصدرها) تعريف Object من نوع Class معين ...

و مع ذلك تعريف كلاس افضل اذا كانا نخطط لإنشاء تطبيقات على المدى المحترف الطويل ... هذا هو الهدف في النهاية .. فمهما بدى لك الغرض ابسط من

ان يستدعي استخدام كلاس .. فممكن ان تفكر الى الامام مع الـ OOP ... :)

حياكي اختي الغالية رغد .. و انا بخير و الحمدلله .. و اشعر فعلاً بالاطراء لانك لاحظت غيابي :wub: .. جزاك الله خير :)

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#11

السلام عليكم ..

مداخلة بسيطه فقط .

اقتباس
لاحظ اني ممكن اعرف class واحد فقط ... ثم في استخدمه كـ Object (و الـ Object هو Struct) في اي تطبيق و هذا ما يسمى بالـ resuibilty

فهل ممكن استخدام الـ Struct بهذا الشكل ؟

اقتباس
as i know no

u can't inherit from struct

بحد علمي انه نستطيع استخدام الوراثه بين بنى المعطيات في الـ C++ . بمعنى انه يمكن ان نقوم بكتابة برنامج بسيط كالتالي :

#include <iostream>
#include <cstdlib>

using namespace std;

struct A 
{

	int a;
};

struct B : public A
{
	int b;

	void input (int i, int j)
	{
		a=i;
		b=j;
	}

	void output ()
	{
		cout <<a<<"  "<<b;
		cout <<a+b;
	}
};

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#12

تعاملي مع الـ Struct في لغة سي بلس لم يصل حد فهم خصائصها الهدفية او طبيعته كـمبدء OOP و لهذا طرحت الموضوع على شكل سؤال

و لكن هل تقول اخي الكريم محمد انه ممكن استنساخ الـ Struct كما يحصل مع الاوبجكت ؟؟ و حتى من ملف خارجي .. طيب ماهي مميزات

هذا الشيء و إختلافه عن الاوبجكت ؟؟

صراحة اعتقد ان استخدام الاوبجكت يغني عن الـ struct .. معليش بس هذا ما اراه :) ... اعتقد ان struct حاله خاصة و محددوة

اما مبدء الاوبجكت فهو مفهوم اوسع .. و كما قلت سابقاً هو مبدء للامام ..

للحديث بقية إن شاء الله ..

بالمناسبة .. إشتقت الى هذا النوع من المناقشات :)

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#13
اقتباس
و لكن هل تقول اخي الكريم محمد انه ممكن استنساخ الـ Struct كما يحصل مع الاوبجكت ؟؟ و حتى من ملف خارجي .. طيب ماهي مميزات

هذا الشيء و إختلافه عن الاوبجكت ؟؟

نعم ممكن . في الواقع , الاختلاف الوحيد الموجود بين البنى والاصناف في الـ C++ هو ان عناصر البنى تكون public بشكل افتراضي , بينما في الاصناف يكون نمط الوصول للعناصر private بشكل افتراضي .

طبعاً كما تفضلتي بالنسبه لإستخدام اسلوب البرمجه الهدفية , فالافضل والمتعارف عليه هو استخدام الـ Class لإنشاء الاصناف . بينما الـ Struct تقدم طريقة لتجميع البيانات في بنية واحدة . طبعاً كل ماسبق كان حول الـ C++ .

تم تعديل هذه المشاركة بواسطة محمد معاشر في 25 مايو 2008 في 23:32

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#14

تسلم محمد على الايضاح

لكن هل ميزة الوراثه فقط في c++ ام ان حتى struct C لديها وراثه ؟

ومسالة public هذه قد تكون مدخال لقضية encapsulation في OO لذلك struct في هذه الحاله ليست محببه في اي لغة برمجه OO

#15
اقتباس
بحد علمي انه نستطيع استخدام الوراثه بين بنى المعطيات في الـ C++

ممكن تكون خاصة في c++ لأنو على حد علمي غير موجودة في C#

اقتباس
ومسالة public هذه قد تكون مدخال لقضية encapsulation في OO لذلك struct في هذه الحاله ليست محببه في اي لغة برمجه OO

public struct Customer
{
	public int ID;
	public string Name;
}
...............
c1.ID = 100;
	// bad object-oriented design	c1.Name = "fadi";

الوصول العام للـ datamember يحرم الصف من قابلية التعديل في المستقبل

SCJP 5.0

#16
بنت اليمن كتب:
حياكي اختي الغالية رغد .. و انا بخير و الحمدلله .. و اشعر فعلاً بالاطراء لانك لاحظت غيابي :wub: .. جزاك الله خير :)

:happy: يديم لك الهنا والخير..والجميع كمان يا رب

,.,.,.,.,.,.,.,.,.,.

عودة إلى صُلب الموضوع

,.,.,.,.,.,.,.,.,..,

طبعاً struct ليست الحل الأمثل لإنشاء برنامج له طابع OOP ولكن لا يعني انها ليست ذات فائدة او انها مهمّشة وخصوصاً في لغتنا لغة ++C فإن struct هي عبارة عن إنشاء نوع بيانات جديد new data type وهي تُفيدنا كثيراً في التعامل مع class حيثُ انها حقيقة هي Aggregate data type لأنها تتكون من عدة متغيرات مختلفة وذات ارتباط منطقي ببعضها البعض.

.,.,,.,.,.,.,.,.,.,.

وايضاً في لغة ++C استخدام متميز لـ struct و هو نوع يسمح لنا بالوصول إلى خانة bit في الـ Byte..تسمى هذه التقنية عموماً بـ Bit Access و هي تتم عن طريق Bit-field و له الهيكل النحوي التالي:

struct struc-name{

type name1
:
length
;

type name2
:
length
;

:

:

type nameN
:
length
;

};

,.,.,.,.,.,.,.,.,.,.,.

يعني باختصار وبلش ما طول عليكوا بالحكي.. struct و وجودها في لغة x دليل على قوة اللغة وزيادة امكانيتها وليست إطناباً redundancy.

,.,.,.,.,.,.,.,.,.,.

عارفة بأنكم لستم بصدد مقارنة بين ++C و Java..ولكن هذي حقيقة في لغتنا حتى لو كانت بتكيد العزال :happy:

,.,,.,,.,.,.,.,.,.,.,.

اطيب المُنى

تم تعديل هذه المشاركة بواسطة رغـــــــــد في 26 مايو 2008 في 16:43

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#17
اقتباس
تسلم محمد على الايضاح

لكن هل ميزة الوراثه فقط في c++ ام ان حتى struct C لديها وراثه ؟

الله يسلمك .

الوراثه بشكل عام كتقينة مخصصه للـ OOP موجودة فقط في الـ C++ , وليست موجودة في الـ C . بمعنى ان وراثه البنى موجود في الـC++ فقط . ولكن هذا فقط بشكل نظري ! .

في الواقع يمكن بإستخدام الـ C ان نقوم بتطوير برامج معتمدة على مفاهيم الـ OOP بكل معنى الكلمة سواء الوراثه , او تعدد الاشكال او التغليف . ولكن طبعاً سوف ندخل بشكل عميق في عمليات اداره الذاكرة ومايتعلق بها ..

اقتباس
ومسالة public هذه قد تكون مدخال لقضية encapsulation في OO لذلك struct في هذه الحاله ليست محببه في اي لغة برمجه OO

هذا صحيح , ولكن قد يقول احد مبرمجي الـسي التقليديين : "وماذا في كون العناصر كلها public , لنعلب على المفتوح ! " ..

اقتباس
ممكن تكون خاصة في c++ لأنو على حد علمي غير موجودة في C#

صحيح , الـ C# في هذا الموضوع اكثر نضجاً , ومفهوم الـ Class مختلف عن الـ Struct ..

ومعذرة فقد جلعنا الـ C++ تغزو الجافا في عقر دارها , ولكن في النهاية هذه لغة ســـي B) .

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#18

السلام عليكم

اشكر الجميع على المشاركة والمداخلة واثراء الموضوع....

انا لاحظت بعض الردود و كأنها تقول ان تقتية ال OOP تقتضي ال class فقط دون ال struct.

وايضاً ما ذكرته الاخت رغد :

رغـــــــــد كتب:
طبعاً struct ليست الحل الأمثل لإنشاء برنامج له طابع OOP

ردي على هذا ان تقنية ال OOP بشكلها المستقل كتقنية لا تتعارض ابداً مع وجود ال struct.

لانه كما فصلته في كلامي السابق هناك حالات معينة الافضل والامثل استخدم فيها ال struct ولا استخدم فيها ال class

طبعاً هذه الحالات هي التي احتاج فيها تركيبة متغيرات ليس الا ولا احتاج تكويد و لا وراثة.

اذن قول ان عدم وجود ال struct في الجافا لانها لغة OOP اعتقد ان هذا الكلام ليس صحيح لان تقنية ال OOP لا تعارض بتاتاً وجود ال struct وليس

وجود ال struct منقصة لها بل بالعكس وجوده ميزة و وجوده افضل من عدم وجوده وهذا ايضاً ما اشارت اليه الاخت رغد:

رغـــــــــد كتب:
يعني باختصار وبلش ما طول عليكوا بالحكي.. struct و وجودها في لغة x دليل على قوة اللغة وزيادة امكانيتها وليست إطناباً redundancy.

تحياتي للجميع

تم تعديل هذه المشاركة بواسطة al_samirr في 26 مايو 2008 في 11:21

#19
al_samirr كتب:
السلام عليكم

اشكر الجميع على المشاركة والمداخلة واثراء الموضوع....

انا لاحظت بعض الردود و كأنها تقول ان تقتية ال OOP تقتضي ال class فقط دون ال struct.

وايضاً ما ذكرته الاخت رغد :

ردي على هذا ان تقنية ال OOP بشكلها المستقل كتقنية لا تتعارض ابداً مع وجود ال struct.

لانه كما فصلته في كلامي السابق هناك حالات معينة الافضل والامثل استخدم فيها ال struct ولا استخدم فيها ال class

عليكم السلام ورحمة الله..عفواً اخي الكريم Al-samirr.

,..,,..,,..,.,.,,..,

مزبوط وتمام استنتاج صحيح وسليم ما شاء الله انت مُلم بالبرمجة ومفاهيما :happy:

,.,.,.,..,,.,.,..,,.

اطيب المُنى

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#20
رغـــــــــد كتب:
عليكم السلام ورحمة الله..عفواً اخي الكريم Al-samirr.

,..,,..,,..,.,.,,..,

مزبوط وتمام استنتاج صحيح وسليم ما شاء الله انت مُلم بالبرمجة ومفاهيما :happy:

,.,.,.,..,,.,.,..,,.

اطيب المُنى

شكرا لك على مشاركتك و شكراً على المجاملة.

كما هو شكري للجميع.

#21

والله القلب يرقع لكم على هذه الأفادات

الله معكم..

#22

السلام عليكم جميعاً ...

عزيزتي رغد :

اقتباس
إن struct هي عبارة عن إنشاء نوع بيانات جديد new data type وهي تُفيدنا كثيراً في التعامل مع class حيثُ انها حقيقة هي Aggregate data type لأنها تتكون من عدة متغيرات مختلفة وذات ارتباط منطقي ببعضها البعض.

و لكن الاوبجكت يعمل لي نفس الشيء ، تجميع او تخصيص او اي شيء نريده ... و لهذا ارى ان زمن الـ Struct و السجلات قديم و ما في له داعي ... حتى C# تخطت هذا الامر كما ذكر الاخوة ..

الخلاصة هي اننا في جافا نحب الخلاصة ... B)

اقتباس
وايضاً في لغة ++C استخدام متميز لـ struct و هو نوع يسمح لنا بالوصول إلى خانة bit في الـ Byte..تسمى هذه التقنية عموماً بـ Bit Access و هي تتم عن طريق Bit-field

و الله هذا شيء جديد عليَ ، لكن لو الخاصية مهمة فأكيد لها شبيه في الجافا ، لكن لاي نوع من التطبيقات نحتاج هذا الشيء ؟؟؟

اقتباس
عارفة بأنكم لستم بصدد مقارنة بين ++C و Java..ولكن هذي حقيقة في لغتنا حتى لو كانت بتكيد العزال

اممممم الآن نحن العزال ... و في قسمنا !!!! معليش برضك السي بلس متعبتكم ... و انتو ضيفونا و على الرأس و العين B)

اقتباس
اطيب المُنى

و دمتي انتي ايضاً بأطيب المنى

اخي المشرف محمد

اقتباس
صحيح , الـ C# في هذا الموضوع اكثر نضجاً , ومفهوم الـ Class مختلف عن الـ Struct ..

ومعذرة فقد جلعنا الـ C++ تغزو الجافا في عقر دارها , ولكن في النهاية هذه لغة ســـي .

نحن هنا نتفق ان الـ C# اكثر نضحاً .. و كذلك الجافا اكثر نضجاً ... لانها تخطت اموراً و تطورت بهذا الشكل

و انتم نورتوا قسم الجافا ... و يا ريت تشرفونا على طول ... و كما قلت للغالية رغد (معليش برضك السي بلس متعبتكم ... و انتو ضيفونا و على الرأس و العين B) )

اقتباس
لانه كما فصلته في كلامي السابق هناك حالات معينة الافضل والامثل استخدم فيها ال struct ولا استخدم فيها ال class

طبعاً هذه الحالات هي التي احتاج فيها تركيبة متغيرات ليس الا ولا احتاج تكويد و لا وراثة.

صدقني الامور اسهل بدون استركت ... انشيء كلاس بالمتغيرات اللي تحبها .. و في نفس الوقت انشيء عمليات تتعامل

مع هذه المتغيرات ... بعدها استخدم البنية كما تريد

اليس ذلك اسهل من انشاء الاستركت الآن ... وبعدين شغلة اخرى العمليات !!!

و مشكور على الموضوع :)

اقتباس
والله القلب يرقع لكم على هذه الأفادات

الله معكم..

يا ريت لو كنت معانا اخي shado ايام زمان ... كان المنتدى كله نار لدرجة انك ما تعود تعرف قسم الواحد من الثاني ..

اي نجاح هو نتيجة للتعاون

تم تعديل هذه المشاركة بواسطة بنت اليمن في 26 مايو 2008 في 17:31

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#23
بنت اليمن كتب:
و لكن الاوبجكت يعمل لي نفس الشيء ، تجميع او تخصيص او اي شيء نريده ... و لهذا ارى ان زمن الـ Struct و السجلات قديم و ما في له داعي ... حتى C# تخطت هذا الامر كما ذكر الاخوة ..

على فكرة المتغير المعرف من ال struct هو object بالمعنى العام لل object.

ولماذا ال struct قديم ؟؟ بالعكس تضل هناك حاجة اليه يكون فيها هو الحل الأمثل.

بالنسبة لل C# لم تتخطى ال struct ابداُ بل ما زال متاح للمبرمج فيها بالرغم انها لغة حديثة.

بنت اليمن كتب:
صدقني الامور اسعل بودن استركت ... انشيء كلاس بالمتغيرات اللي تحبها .. و في نفس الوقت انشيء عمليات تتعامل

مع هذه المتغيرات ... بعدها استخدم البنية كما تريد

اليس ذلك اسهل من انشاء الاستركت الآن ... وبعدين شغلة اخرى العمليات !!!

الذي أراه ان هناك حالات ال struct هو الامثل.

اخيراُ اقول ان الجافا احبها في تطبقيات و غيرها من اللغات احبها في تطبيقات اخرى.

يعني انا كمبرمج عادي لا اتحيز لأي لغة لأني ارى ان التحيز من قبل مبرج ليس له مبرر.

#24

عليكم السلام ورحمة الله

,..,.,,.,..,.,,..,.,,.

اقتباس
و انتو ضيفونا و على الرأس و العين B)

كريمة اختي وبنت اصول :happy:

,.,.,.,.,.,.,..,,.,.,.

طيب..انا مو رايدة اعمل مقارنة بينات struct and class لأن العالِم Bjaren يقول بأنها تقريباً سواسية إلا ببعض الفروقات التي ذكرها اخي الكريم محمد معاشر وبعض الشروحات من اخي الكريم Al-samirr. لكن شو رايك برد عليك(مشان لساني عم يفلت مني عجلانة للرد على التالي): :happy:

,.,.,.,.,.,,.,,.,.,.

بخصوص Bit-field: للحكي مع الكيان الصلب

اقتباس
و الله هذا شيء جديد عليَ ، لكن لو الخاصية مهمة فأكيد لها شبيه في الجافا ، لكن لاي نوع من التطبيقات نحتاج هذا الشيء ؟؟؟

اولاً لغة جافا اعلى مستوى من هيك (بنت عز High High) ما بتحكي مع الكيان الصلب بالمرة..شو يوصل الجافا للـتحكم مباشرة بـالـ Bit والـ Byte في قلب الكيان الصلب للحاسب The hardware ؟ على الأقل مش بطريقة مباشرة هيك. :pwease:

,.,.,.,.,.,.,.,..,,..,.

اقتباس
الخلاصة هي اننا في جافا نحب الخلاصة ... B)

عن نفسي انا بحب التفاصيل من (طء طء لسلام عليكم) ثرثارة :happy:

,..,,.,.,.,.,.,.,.,.,.,.

ولغتكم على عيني وعلى راسي اختي بنت اليمن لو كانت شو ماكانت بس كنت حابة امزح للكلمة اياها بخصوص العوازل

:happy:

,.,.,.,.,.,.,.,.,.,.,.

اطيب المُنى

تم تعديل هذه المشاركة بواسطة رغـــــــــد في 26 مايو 2008 في 19:12

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#25

السلام عليكم ..

@ بنت اليمن

اقتباس
و انتم نورتوا قسم الجافا ... و يا ريت تشرفونا على طول ... و كما قلت للغالية رغد (معليش برضك السي بلس متعبتكم ... و انتو ضيفونا و على الرأس و العين

شكرا اختى الكريمة بنت اليمن , وانا عن نفسي معجب بإمكانيات الجافا وقد عملت عليها مسبقاً (طبعاً ايام الجامعة) ..

@al_samirr

اقتباس
لانه كما فصلته في كلامي السابق هناك حالات معينة الافضل والامثل استخدم فيها ال struct ولا استخدم فيها ال class

طبعاً هذه الحالات هي التي احتاج فيها تركيبة متغيرات ليس الا ولا احتاج تكويد و لا وراثة.

هذا الكلام ليس في الجافا , الـ struct هو من عالم السـي , وليس شرطاً ان تحتويه الجافا طالما انه يوجد بديل له . وكما قالت الاخت بنت اليمن :

اقتباس
صدقني الامور اسهل بدون استركت ... انشيء كلاس بالمتغيرات اللي تحبها .. و في نفس الوقت انشيء عمليات تتعامل

مع هذه المتغيرات ... بعدها استخدم البنية كما تريد

اليس ذلك اسهل من انشاء الاستركت الآن ... وبعدين شغلة اخرى العمليات !!!

فهذا الكلام يناسب الجافا ..

اقتباس
بالنسبة لل C# لم تتخطى ال struct ابداُ بل ما زال متاح للمبرمج فيها بالرغم انها لغة حديثة.

انا قصدت بعبارتي :

اقتباس
صحيح , الـ C# في هذا الموضوع اكثر نضجاً , ومفهوم الـ Class مختلف عن الـ Struct ..

ان الـ struct في الـ C# مختلف في الاستخدام عن الـ Class في العديد من النواحي لا مجال لذكرها الان ..

@ رغـد

اعتقد انه لايوجد كلام بعد كلام Bjaren :rolleyes: .

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

مواضيع مشابهة