شكرا لك اخي بيشوي
بس ممكن تعطيني متال كيف بقدر استخدم الthis لتحل محل ال pointer :happy:
شكرا لك اخي بيشوي
بس ممكن تعطيني متال كيف بقدر استخدم الthis لتحل محل ال pointer :happy:
سلام للأخ mam225
شوف هو الجافا واحدة فى كل حتى هتقراها من اى كتب مش هتفرق
لكن من ناحية المحرر أى الeditor أى الIDE الى هتكتب عليه
فأنا بفضل استعمال النتبينز netbeans)
و ممكن تحمله من الموقع الرسمى بتاعه
http://www.netbeans.org و مشروح فيه كل حاجة عنه
و من المصادر الجيدة للتعلم الجافا ال tutorial و ال documentation الى عامله شركة sun
documentation in this link
http://docs.huihoo.com/java/javase/6/
tutorial in this link
http://java.sun.com/docs/books/tutorial/in...n/download.html
و حاول تستعمل النت بينز و لو معرفتش انا فى الخدمة و الإخوة الأفاضل فى الخدمة أيضاً
_____________________________________________________________________________-
الأخت بيان :
سلام أخبارك ايه مع الجافا ؟؟ أتمنى تكونى بخير
عموما ً أدى كود موضحلك بكل بساطة طريقة استمعال الthis
و لكن إن تعثرتى فى فهمه لا تتضايقى لأنى كما لاحظت فى موضوع سابف لكى تقولين انك حديثة العهد بالبرمجة بلغة الجافا .
عموما ً أدى الكود و مكتوب على برنامج النتبينز بردو
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Testthis extends JFrame implements ActionListener {
private JPanel panel; //crate object panel from class JButton
private JButton hello; // crate object hello from class JButton
// making a constructor
public Testthis(){
panel=new JPanel(); // reverse a place in memory for "panel" opject
hello=new JButton("Hello"); // reverse a place in memory for "hello" opject
hello.addActionListener(this);
panel.add(hello);
getContentPane().add(panel,BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,"Hiiiii Bian, i hope to be funny with java");
}
public static void main(String[]args){
JFrame frame=new Testthis();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
frame.setSize(new Dimension(500,250));
}
}و لو مستعجلة على فهمه شوية مممكن نتناقش فى الأجزاء التى لم تعرفيها
و شكرا
ربنا معاكم
بيشوى عاطف
شكرا لك اخي بيشوي .......... الحمد لله انا حابه لغة الجافا كتير وهلا انا منزلها في الجامعه وبتمنى اتقنها :lol:
الحقيقه انا ما فهمت كل إشي في البرنامح .. :wub:
hello.addActionListener(this);
بس بدي أسألك وين هادا الميثود اللي اشرت اليه في هاي الجمله وعلى أي objectأشارت ال this في هاي الجمله نفسها ؟؟؟؟؟؟ :blink:
شكرا ......... :bye:
شكرا اخي مرة اخرى ..
الصراحة انا بتعلم على الـ BlueJ لانه بدرسه في الجامعة ..
لكن سالت السؤال دا .. لاني اشتريت كتاب بيعلم الجافا على برنامج تاني. .
شكرا لك ..
سؤالي اليوم
ممكن احد يفهمني الميثود هذه
انا اسف اسئلتي كتير .. لكني اريد التعلم فعلا ^_^
public void setRefNumber (String ref)
طبعا دا مثال بس .. المثال دا لمكتبة وتبغا تسوي ريقرنس نمبر للكتب الي موجودة فيها
انا قصدي الميثود void "set..."
والله يا اخوان انا بشوفكم تتناقشوا في اشياء انا ما افهمها .. مع اني احب الجافا .. وجالس اقرا كتب ..
انا مازلت مبتديء فعلا ..
لكن بشوف ناس بتاخد وقت اقل في فهم بعض االامور .. وانا زعلان من نفسي والله ..
ابغا اطور نفسي في الجافا .. اريد فعلا :(
سلام mam225
ال Method setRefNumber
ما هى إلا أنها method من نوع void و يجب ان تكون على دراية بأن أى method من نوع void لا ترجع اى شئ
و حتماً و لابد قبل الmethod تكتب نوعها أيه ...
و الmethod دى ممررلها variable من نوع String
أدى كل القصة ..
اقتباسوالله يا اخوان انا بشوفكم تتناقشوا في اشياء انا ما افهمها .. مع اني احب الجافا .. وجالس اقرا كتب ..
و ده ميزعلش الالف ميل تبتدى بخطوة ( مثل صينى )
اقتباسلكن بشوف ناس بتاخد وقت اقل في فهم بعض االامور .. وانا زعلان من نفسي والله ..
خليك فى نقسك متبض أن غيرك بيخلص بسرعة و انت لالالا انا كنت زيك فى البداية و مازلت أيضاً لكن المهم انك شغال و لا تنسى أن دوام الحال من المُحال
بالقراءة و التطبيق هتبقى كويس فى البرمجة
صحيح هو حضرتك اسمك ايه ( لك كامل الحرية فى ابداء اسمك ) بس أنا أحب اتتعامل باسم الشخص و برحتك بردو
ربنا معاك و شد حيلك
بيشوى عاطف
السلام عليكم
كيف حالكم يا شباب؟
شكل الأخ بيشوي احتل الموضوع هنا
ماشاء الله عليه
حبيت بس أصادق على كلام بيشوي
ماعدا في نقطة المؤشرات pointers
جافا لا تحتوي على مؤشرات بأي طريقة كانت
للتوضيح المؤشر هو عبارة عن طريقة
لتغيير عنوان المتغير من مكان في الذاكرة إلى مكان آخر
السؤال الذي يسأله الجميع دائماً
لماذا جافا لا تسمح بالمؤشرات
مع أنها توفر الكثير من الوقت
بل وفعلياً هي أسرع بكثير من حجز متغيرات جديدة
سببين هما الجواب على هذا السؤال
1- التخبط الذي يسببه المؤشر
أحياناً كثيرة يكون المؤشر سبباً في إضاعة الوقت الكثير
في عمليات فهم الشيفرة مراجعة الشيفرة بل وتتبع الشيفرة لتصحيحها أو ما يسمى بـ debugging
2- مشاكل الأمان التي تحدث بسبب المؤشر
وأشهرها overflow تكلم عنها الإخوان في قسم الأمان
بالنسبة للكلمة المحجوزة this فلها عدة مهام
1- تستخدم للتمييز بين المتغيرات الداخلية local والمتغيرات العامة field
مثال
this.alaa=alaa;
تشير إلى أن المتغير علاء الموجود في دالة ما ستوضع قيمته في المتغير علاء الموجود كـ field
2- مع صانع الكائنات constructor وذلك لمناداة صانع كائنات بمدخلات مختلفة
مثال
public alaa(){
this(null);
}
public alaa(String name){
this.name=name;
}نلاحظ هنا أن صانع الكائنات constructor الذي ليس له مدخلات zero parameter
ينادي صانع الكائنات الذي له مدخل من النوع String
وهذا يعتبر نوع من التنظيم
مممممممم هل لأحد تعليق على كلامي أتمنى أن يتكلم
لا إحراج هنا إنما هو العلم فقط
تحياتي
السلام عليكــم ورحمـة الله وبركاتــه
انا عندي مشكله كبيرة ومش عارف كيف اعلجها انا مش قادر افهمGui الذي يتضمن الماوس+الكي +الاكشن ايفينت وكذلكjcombo book+jcheck+jlable وامتحاني ضيلوه اربع ايام مشان الله ساعدوني وحطو شرح بالعربي لهاي المواضيع وشكررررررررررررررررررررررررررررررررراراجع بريدك الخاص
سلام لكم جميعاً
سلام يا أخت بيان
شوفى فى بداية الكود أنا كاتب
public Class Testthis extends JFrame implements ActionListener
كلمة extends تعنى أورث صفات أى أن ال calss سيرث صفات كلاس آخر
و هنا Actionlistener ليس كلاس بل interface
فبالتالى ال class JFrame سيرث صفات هذا ال interface
و يجب ان تعلمى أن هذا ال interface به دالة خطيرة جدا جدا جدا اسمها actionPerformed(ِActionEvent e) فى هذه الدالة يتم كتابة ال even t الذى تريدينه أن يحدث
و لكن كيف نذهب إلى هذه الدالة ؟؟؟ !!!
للذهاب إليها : فى هذا الكود الذى كتبته مسبقاً فى الصفحة السابقة
كنت أريد حينما تضغطين على hello button يظهر لكى box به رسالة
فهناك دالة اسمها AddactionListener بمرر لها this
أنا بعتبر this دى جاسوس فكأنى بقول خليكى يا addactionlistener متجسسة على الزرار فأول ما يُضغط هذا الزر اذهبى إلى الدالة actionPerformed
ونفذى ما بها .
ملحوظة بسيطة
ان ال interface ActionLisnter موجود بداخل ال pakege
import java.awt.event
اما الكلاس ActionEvent موجود فى الpakege
import java.awt.event.ActionEvent;
و أكر إذا لم تفهمى ما أقصد لا تتضايقى انت فى البداية فاصبرى
و لكن هذا الكود موضح مفهوم ال this بطريقة صريحة
توضيحاً لما قصده مستر علاء :
// In this code we use this to point to - or (call)- the original variables and put new values in it
// you will see this in code.
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
public class Testthis {
private int hour, minut, second;
// constructor with 0-prameters
// place the value 0 in ( hour,minut,second)
public Testthis() {
this.hour = 0;
this.minut = 0;
this.second = 0;
}
// constructor with 1-prameters
// place the value h in (hour)
public Testthis(int h) {
this.hour = h;
}
// constructor with 2-prameters
// place the value h,m in (hour,minut)
public Testthis(int h, int m) {
this.hour = h;
this.minut = m;
}
// constructor with 3-prameters
// place the value h,m,s in (hour,minut,second)
public Testthis(int h, int m, int s) {
this.hour = h;
this.minut = m;
this.second = s;
}
public String FormatTime() {
DecimalFormat twoDigits = new DecimalFormat("00");
return twoDigits.format(this.hour) + " :" +
twoDigits.format(this.minut) + ":" +
twoDigits.format(this.second) + "";
}
}
class Testtime {
public static void main(String[] args) {
String time = "Using this with different constructor" + "\n" + "______________________";
Testthis testthis = new Testthis();
Testthis testthis1 = new Testthis(10);
Testthis testthis2 = new Testthis(10, 20);
Testthis testthis3 = new Testthis(10, 20, 40);
time += "\n" + testthis.FormatTime() + "\n" +
testthis1.FormatTime() + "\n" +
testthis2.FormatTime() + "\n" +
testthis3.FormatTime() + "\n";
JOptionPane.showMessageDialog(null, time);
}
}و بالنسبة للمؤشرات أوضحها مستر علاء جيداً و شكراً جدا لتوضيحك لها
و نحن فى انتظار تبادل الأسئلة لنمو الخبرات و
اقتباسجافا لا تحتوي على مؤشرات بأي طريقة كانتللتوضيح المؤشر هو عبارة عن طريقة
لتغيير عنوان المتغير من مكان في الذاكرة إلى مكان آخر
not correctly 100% !
there is pointers in java ,, and in any language use the keyword (new) , (new) mean save the object in region in memory called heap , and when the object reside in this region you can deal with it with pointer or reference to this object
example :
Student s = new Student(name);
after execute this statement , there is object from type Student in heap , and you can deal with this object from s (pointer or reference)
s here is not object , it's reference (pointer) to object , it's mean that value of s is memory address (where Object reside in heap)
now when you call
s.getName();
you have pointer(address)to object and from that location you call function getName
this keyword mean : pointer to current object , and you use it when you don't know what the name(pointer) of the current object
example :
signature of function :
public void setName (string alaa);
and you have member varaible name alaa in class student ,
now you call :
s.setName("ahmed");inside function setName , how you can distinguish between alaa parameter and alaa member variable , in function setName you have no idea about the name (pointer) of object call this function ?
if you know the pointer (s) , you can say :
s.alaa = alaa ;
but you dont know the name(pointer) , maybe its s or s1 or any object from class !
and here the usa of this - pointer to current object-
so when you call function with s pointer and say :
this.alaa = alaa ;
it mean :
s.alaa = alaa
this hold the address of current object
s hold the address for object in memory (heap)
sorry again , no arabic langauge here :)
good luck
http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة
https://moalfat.com للكتب الالكترونية والكورسات التعليمية
Everything we see now is just an engineering solution based on old science
your illustration is very good mr. wajdy
thanks again and
god with you
thanks
beshoy
مممممممممممممممم
يمكن القول أن كلامك صحيح أخ وجدي إذا اعتبرنا بتجريد الـpointer
لكني أرى أنه من الخطأ أن نقول بوجود pointer في جافا
لأن هذا يؤدي إلى توليد لبس لدى المبتدئين في اللغة
على أي حال
الجملة التالية هي الأصح
الجافا تحتوي على مؤشرات بشكلها المجرد
تحياتي
سلام مستر علاء
ممكن اعرف يعنى ايه كلمنة بشكلها المجرد ؟؟؟
يقصد الفكره موجوده ، ولا حاجه للدخول في تفصيل أن ذلك هو مؤشر ، فقط نطلق عليه كائن object والسلام ..
المشكله في المؤشرات دائما هي في عدم تحرير الذاكره بعد حجزها أو حذف المؤشر لكائن موجود وهكذا مشاكل ، لكن في جافا لا توجد أي مشكله بسبب الgarbage collector فهو يقوم بحذف الكائن الموجود في الذاكره مباشره عندما تصبح قيمه الreference له تساوي null ..يعني هو يتولى مسئله الحذف والتحرير لنفسه ولا حاجه لك بها .
بالتوفيق .
http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة
https://moalfat.com للكتب الالكترونية والكورسات التعليمية
Everything we see now is just an engineering solution based on old science
بالضبط هذه الميزة تكاد تكون سائدة في اللغات الحديثة
ارفع مشاكل المؤشرات من حسبان المبرمج وارميها على عاتق اللغة
وهذا ما يسمى بـ refrence
السلام عليكم ورحمة الله ...
إخواني الأعزاء ، أود أن أستفسر منكم عن البرامج المكتوبة بلغة الجافا والتي تنتشر في صفحات الـ HTML إن صح التعبير ...
إنني ألاحظ إنتشار هذه البرامج بكثرة خصوصاً في المواقع التي تشرح عن موضوع بشكل تفاعلي ، ولقد ذهلت بنجاعة هذه البرامج بتوضيح المطلوب شرحه!
لذلك ... حاولت أن أقوم بحفظ هذه البرامج حتى تفتح من دون الإتصال بإنترنت لكن دون جدوى ! حتى عندما أقوم بحفظ كامل الصفحة ، وفتحها دون الإتصال بالنت فإن البرنامج لا يظهر ، وتكون إشارة X في الزاوية العلوية اليسرى من إطار البرنامج ، إلا أن باقي الصفحة يظهر بشكل طبيعي .
فهل من حل لهذه المشكلة ؟؟
أنتظر المساعدة ، ودمتم سالمين ...

قال أحد الحكماء المسلمين:
" العلم ثلاثة أشبار ، من دخل الشبر الأول تكبر ، و من دخل الشبر الثاني تواضع ، و من دخل الشبر الثالث علم أنه لايعرف شيئ !! "
وعليكــم السـلام ورحمة الله وبركاتـه..
حياك الله ،،
جافا أبليت Applet هي برامج جافا تعمل على صفحه الأنترنت كما ذكرت ، طريقه عملها بأن يكون ملف الbyte code موجود في السيرفر (جهاز بعييد) ، وعندما تدخل على هذه الصفحه من خلال متصفحك فإن الbrowser يقوم بتحميل الbyte code ويقوم الjvm بتفسير الكود وعرض الناتج لديك في الشاشه ،
لذلك عندما تقوم بحفظ الصفحه لديك ، وتقوم فيما بعد بالدخول لديها فلن يمكنك لأن الكود غير موجود ، ويجب تحميله من ذلك السيرفر الذي يتواجد في الملف .class ، أي يجب أن تتصل بانترنت حتى تحمله مره أخرى ..
ادخل على source الصفحه ، وستجد html tag اسمه applet ، وستجد ربما مسار للملف .class قم بتحميل هذا الملف ، هنا اسم الملف example :
<APPLET CODE="example.class" WIDTH=300 HEIGHT=300></APPLET>
الأن قم بتحميل هذا الملف ، من نفس رابط الصفحه التي توجد بها ، امسح الأسم وضع example.class (لأنها موجوده في نفس المجلد ) .. وبعدها عند الضغط عليها تستطيع تحميلها .
بعدها يمكنك تشغيله من جهازك بدون الحاجه لصفحه الأنترنت عن طريق المفسر العادي java أو استخدم الappletviwer (تذكر أنك ستجد byte code في الملف ولن تجد ملف الكود الحقيقي .java ).
مثل :
appletviewer a.html
الملف a يحتوي على الكود :
<html> <body> <P> <CENTER> <APPLET CODE="example.class" WIDTH=300 HEIGHT=300></APPLET> </CENTER> <P> </body> </html>
جربت الطريقه الأن ، ولم استطيع تشغيل الملف example والسبب أنه يجب تحميل ملف اخر ، لأن example أظن يقوم بعمل كائن من ذلك الكلاس وحصلت مشكله في التنفيذ، وهنا يجب أن نقوم بالبحث عن ذلك الملف وتحميله أيضا .. أما اذا كان الملف لا يحتاج لملف أخر ، فنظريا الموضوع صحيح وسيعمل ان شاء الله .. نظريا فقط :) .
بالتوفيق ،،
http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة
https://moalfat.com للكتب الالكترونية والكورسات التعليمية
Everything we see now is just an engineering solution based on old science

قال أحد الحكماء المسلمين:
" العلم ثلاثة أشبار ، من دخل الشبر الأول تكبر ، و من دخل الشبر الثاني تواضع ، و من دخل الشبر الثالث علم أنه لايعرف شيئ !! "
حاولت إيجات الـ applet لكنه غير موجود في المصدر !!

قال أحد الحكماء المسلمين:
" العلم ثلاثة أشبار ، من دخل الشبر الأول تكبر ، و من دخل الشبر الثاني تواضع ، و من دخل الشبر الثالث علم أنه لايعرف شيئ !! "
السلام عليكم
اولا بحب عرف عن حالي انا عضو جديد وبدي مساعدة فورية بالجافا
لو سمحتوا .........!
معنا سؤال وظيفة ما بنعرف عنه شي
Factory Design Pattern عن
وما عنا أي فكرة عنها
والسؤال جاية على الشكل التالي :
أكيد لاءFactory Design Pattern هل سمعت بما يسمى
وهي Draw() والتي تحوي على طريقة وحيدة MyImageنفرض ان لدينا الواجهة
والذيImageEncoder ترسم صورة على الشاشة ولنفرض من جهة اخرى وجود الصف
MyImage encode(String path,ImageType type) يحتوي على طريقة وحيدة
وظيفتها اعادة صورة حسب مسار الملف المرر اليها ونوع الصورة حيث
هي واجهة تحوي على أنواع الصور المراد فتحها : ImageType
Public interfase Image Type
{
Public static final int BMB=0;
Public static final int JPEG=1;
Public static final int GIF=2;
Public static final int PNG=3;
}
بحيث يمكن فتح جميع أنواع الصور المدعومة (Image Encoder)تحقيق الصف
دون اضافة أي صف جديد الى مجموعةا لصفوف السابقة , وبحيث يتم اخفاء التحقيق عن المطورين الذين سيستخدمون هذا الصف في المستقبل
هلأ هيك كان السؤال وبتمنى مين ما بيهرف يحاول يشرح ولو شوي
مرحبا من جديد
بتعرفوا أي شي عن
Factory Design Pattern
بالجافا
وبس شكراً
اخواني الكرام .. الله يكرمكم احد يشرح لي الـ HashMap
وربي تعبت وماني قادر افهمه ..
فهمت انه به عدة ميثود .. ولكن ماني فاهم اساسه ..
وفي الجامعة ماشين صاروخ ههههه .. الله يهديهم ..
وايضا .. احتاج القليل من الفائدة في الـ Array List
احد يشرح لي مثال حتى ازيد فهمي فيه ..
ارجوكم .. :)
بالنسبة للأخ الذي يسأل عن نمط المصنع
ابحث في المنتدى وستجده
بالنسبة للأخت التي تسأل عن HashMap و ArrayList
هذه الفئات هي من تراكيب البيانات data structure المشهورة
ابحثي في المنتدى
وحاولي الفهم أكثر
هذه مقالة عن ArrayList
بالنسبة لـ HashMap
فهي في النهاية عبارة عن HashTable
لكن المفتاح فيها ليس رقم وإنما كائن
تحياتي
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…