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

اريد بعض اسس البرمجة الكائنية + طلب كتب عربية

مغلق
بدأه Linux Java في 30 أبريل 2006 · 4 رد · 926 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

أنا شاب بسيط هاوٍ قدر الله علي وتعلقت بالحاسب الآلي منذ فترة طويلة . طرقت كل أبوابه إلا باب البرمجة ( كأني بأحدكم يقول من لم يتقن البرمجة فليس بمستخدم للكمبيوتر ) ماعلينا .

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

انخرطت في دورة للبرمجة لمدة سنتين أملاً في أن احصل على شهادة معتبرة واتقان للبرمجة .

كانت اللغة هي دوت نت ولا أخفي عليكم ما في قلبي من كره لمايكروسوفت ومنتجاتها . وأنا الآن بدأت في التعلم ولكن هدفي هو الشهادة لأن جميع المعاهد العربية لا تدرس الكمبيوتر بذمة وضمير .

وقع اختياري على اللغة الساحرة جافا ، لغة العصر وكفى بها أنها تعمل على أي منصة دون أي مشاكل .

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

بدأت بالكتب العربية وقطعت شوطاً ولكن مفهوم الكائنات والبرمجة الكينونية أو الشيئية أو الموجهه بالكائنات لم تجد أرضاً خصبة بعد .

والآن بعد هذه المقدمة الطويلة والمملة هاكم الأسئلة :

1 – ما الفرق بين الكائن والصنف أو الفئة Object and class فحسب مافهمت أن الصنف أكبر ويحوي العديد من الكائنات . والكائن يأخذ أو يرث نفس صفات الفئة class فهل تعتبر الفئة عنصر احاطة مثلاً . أرجو الإفادة .

2 – هل هذا الترتيب صحيح من الأكبر الى الأصغر " حزمة –> فئة –> كائن –> طريقة "

3 – في تعريف الطريقة method وبحسب ماورد في كتب المؤسسة العامة للتعليم الفني والتدريب المهني أن التعريف يبدأ بمحددات الوصول access specifier ثم كلمة static ثم نوع الإعادة ثم اسم الطريقة وذكروا أن محددات الوصول تكون فيها الفئة مرئية داخل الصنف أو داخل البرنامج فهل يعني هذا أنه ﻻيمكن استخدامها . ثم ذكروا أن كلمة static تعني أن الطريقة تستخدم داخل الفئة التي عرفت فيها فقط فما الفرق أثابكم الله .

4 – ذكر الكتاب مسألة التوقيع في method فهل هي جسم الطريقة .

قد ترد أسئلة اخرى مع قرائتي في الكتب وسأطرحها لكم في هذا الموضوع بحول الله وتوفيقة .

ختاماً لي طلبان :

1 – أن تعذروني على المقدمة الطويلة والمملة وكثرة الأسئلة وسذاجتها .

2 – أن تدلوني على كتاب مطبوع أو إلكتروني باللغة العربية يفيدني في مجال الجافا .

أخوكم أبو فيصل ،،،

#2

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

غريبة ما أحد رد !!!!!

لدي سؤال آخر وهو هل تختلف طريقة كتابة البرامج من بيئة الى اخرى مثل NetBeans و Eclipse

لأن الكود التالي يعمل دون مشاكل على NetBeans ولكنه لم ينجح في بيئة Eclipse

// Fig. 5.19: LogicalOperators.java
// Demonstrating the logical operators
// Java extension packages
import javax.swing.*;
public class LogicalOperators {
    // main method begins execution of Java application
    public static void main( String args[] )
    {
        // create JTextArea to display results
        JTextArea outputArea = new JTextArea( 17,20 );
        // attach JTextArea to a JScrollPane so user can
        // scroll through results
        JScrollPane scroller = new JScrollPane( outputArea );
        String output;
        // create truth table for && operator
        output = "Logical AND (&&)" +
                "\nfalse && false: " + ( false && false ) +
                "\nfalse && true: " + ( false && true ) +
                "\ntrue && false: " + ( true && false ) +
                "\ntrue && true: " + ( true && true );
// create truth table for || operator
        output += "\n\nLogical OR (||)" +
                "\nfalse || false: " + ( false || false ) +
                "\nfalse || true: " + ( false || true ) +
                "\ntrue || false: " + ( true || false ) +
                "\ntrue || true: " + ( true || true );
// create truth table for & operator
        output += "\n\nBoolean logical AND (&)" +
                "\nfalse & false: " + ( false & false ) +
                "\nfalse & true: " + ( false & true ) +
                "\ntrue & false: " + ( true & false ) +
                "\ntrue & true: " + ( true & true );
// create truth table for | operator
        output += "\n\nBoolean logical inclusive OR (|)" +
                "\nfalse | false: " + ( false | false ) +
                "\nfalse | true: " + ( false | true ) +
                "\ntrue | false: " + ( true | false ) +
                "\ntrue | true: " + ( true | true );
        // create truth table for ^ operator
        output += "\n\nBoolean logical exclusive OR (^)" +
                "\nfalse ^ false: " + ( false ^ false )+
                "\nfalse ^ true: " + ( false ^ true ) +
                "\ntrue ^ false: " + ( true ^ false ) +
                "\ntrue ^ true: " + ( true ^ true );
        // create truth table for ! operator
        output += "\n\nLogical NOT (!)" +
                "\n!false: " + ( !false ) +
                "\n!true: " + ( !true );
        outputArea.setText( output );  // place results in JTextArea
        JOptionPane.showMessageDialog( null, scroller,
                "Truth Tables", JOptionPane.INFORMATION_MESSAGE );
        System.exit( 0 );  // terminate application
    }  // end method main
} // end class LogicalOperators

هذا المثال مأخوذ من كتاب Java How to Program 4th edition

أرجوا الرد في أقرب وقت ممكن

أخوكم أبو فيصل ،،،

تم تعديل هذه المشاركة بواسطة Linux Java في 2 مايو 2006 في 11:03

#3

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

ياجماعة الخير مايصير 68 مشاهدة والى الآن ولا رد !!!

أعتقد أن قسم الجافا لا يلقى الإقبال الموجود في الأقسام الاخرى

والحقيقة أنه في العالم العربي الجافا متأخرة عن اللغات الأخرى

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

وفي المقابل تجد كتابين للجافا ﻻيسمنان ولا يغنيان من جوع

شيء مؤسف حقيقة .

في انتظار ردكم لعلنا نجعل من هذا القسم الفرعي منبر تعليم لكل من يبحث عن العلم ليفيد أمته ووطنه

أخوكم أبو فيصل ،،،

#4

بسم الله الرحمن الرحيم

ساحاول ان اجيب على قدر معرفتي الضئيلة

2. نعم صحيح

3.

اقتباس
التعريف يبدأ بمحددات الوصول access specifier

الـ Access Specifier :

public , protected , private

و اذا لم تحدد شيئ من السابق فيسمى حينها Friendly

اما عن الاختلاف بينهم فهو كالاتي :

لو كان عندك method او كائن وكان

1. Public : فان اي Class او SubClass في نفس الحزمة او في حزمة اخرى يمكنه الوصول الى الكائن او الميثود

2. Protected : كما في رقم واحد باستثناء ال Class من حزم اخرى لا تستيطع الوصول

3.Private : لا يمكن الوصول للكائن او الميثود الا من ال Class الموجودة فيه فقط

4. Friendly يمكن وصول الـ Class او SubClass من نفس الحزمة فقط

static

تعني انك تستطيع الوصول الى الـ Method من دون انشاء الـ Object من الـ Class

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

بالنسبة لقلة المؤلفات في لغة الجافا فهذا باعتقادي يرجع الى انها لغة حديثة مقارنة بلغات البرمجة الاخرى

باتعقادي Java How to Program انه من اسهل الكتب في طريقة العرض

بالتوفيق ...

منقطع من حين لاخر

#5

السـلام عليكم

حياك الله اخوي ابو فيصل انصحك تأخذ الكلمات بلغتها الانجليزيه لأن ترجمتها للعربيه صعبه وتختلف

انا قريت المشاركه أكثر من ثلاث مرات عشان أفهم بعض الكلمات العربيه

الله يجزاك خير

بالنسبه لأسئلتك :

الـ Class هو شئ ذو مواصفات معينه بشكل عام

عندما تواجهك مشكله فكر بالأطراف المتعلقه فيها

لديك طالب مثلاً وإنسـان ، ، ،

مثلاً الطالب عندما تفكر في مواصفاته

تجد أنه يحتوي على أسم ومعدل و المواد التي يدرسها

الإنسـان تجد أنه يصنف على أنه إما ذكر أو أنثـى

وكذلك للنقطه مثلاً النقطه تجد أنها تعرّف أو تحتوي على أحداثيات المحور السيني والمحور الصادي

فيه مقالات وكتب كثيره كثيره دائماً اراها وأساله كثيره عن الـOOP لو تبحث بالمنتدى راح تلقاها

واعتقد فيه موضوع مثبت بمنتدى السي++ عنها ،

ماأدري هل وضحت مسألة الClass أو لا ؟

الـ Object هو الClass ولكن بمواصفات محدده ومعينه

الطالب عندما تعطيه أسم ومعدل ومواد يصبح Object

طبعاً تعرف إننا نستطيع أن نعطي قيم لمواصفات الكـلاس عن طريق

تعريف متغير من نوع الكـلاس مثلاً

 Student stud;

ثم المرور على الـ Constructor في الـClass

stud=new Student();

الآن ماذا حدث ؟؟

عرفت Object ولكنه فاضي

حجز لك في الذاكره مواصفات الClass

مثلاً أسم طالب من نوع ٍString

ومعدله من نوع Float

والمواد على شكل مصفوفه من الـString

ولكن هذه المواصفات أو الخصائص فاضيه لاتحتوي على قيم فيأتي دور

setters و getters methods

وهي methods عاديه تغير قيم الخصائص حقت الObject

فيكون شكل setName

public void setName(String n){
name=n;
}

ويكون شكل getName

public String getName()
{
return name;
}

وتكمل باقي الخصائص وتعمل لكل وحده set & get

وبهذا تكون عرفت Object ووضعت فيه المعلومات

طبعا هناك طريقه أخرى وهي انك تسند القيم في الـ Constructor مباشرة

stud=new Student("Eisa",4,course);

حيث course مصفوفه من نوع سترنق معروفه مسبقاً .

الخـلاصه :

أي شئ تستطيع تحديده بمواصفات معينه هو Class

والمواصفات هذي إذا أسندت إليها قيمه محدده تسمـى Object

الـObject هو الـ Class ولكن بعد اسناد قيم له . .

لدي كتب كثيره عن كل مايتعلق بالجافا ولكن أغلبها انقليزي

وسأبحث لك على مراجع عربيه ولكني أرى ان الانجليزيه أفضل لك . .

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…