تجمع شيتات واسئلة oop
812 subscribers
345 photos
12 videos
166 files
37 links
شوفو التثبيتات واتركو لنا دعوة جزاكم الله خيرا. 🤍
Download Telegram
لميتو المادة؟؟ ولا هيا لمتكم؟
حد مكمل المنهج وحاب ايدير اسألة؟
👍4
منقول من أ. فرج نجم.:

السلام عليكم
قبل أي شي ياريت
ما حد منكم يسألني عن الامتحان مجرد السؤال عن الامتحان نحس انه إهانة لي

انا كنت وعدتكم
امس اتي سوف انزل فيديو اشرح فيهن كتابة كلاس الموظف بس ما صار لذلك انا اسف وذلك لسببين

اولا والله ما
حصلت وقت من الصبح و انا برا الحوش و هذا وين دخلت المنزل,و ثانيا منكن هكي افضل حتى
لا يتشتت تركيزكم من كثرة الفيديوهات
و بعدين بصراحة
شرحي في المحاضرة وتسجيل المحاضرات الثلاثة كافي جدا يخليك تتفوق في امتحان بكرة. طلبتي
انا بالأخص الذين يحضروا معي ويركزوا في المحاضرة ويتابعوا في شرحي على كلاس روم باذان
الله بكرة الامتحان ساهل عليهم وانا متصور انهم راح يتفوقوا ويجيبوا درجات عالية ,
و ان شاء الله ما يخيب ظني فيكم
8
i think.
الامتحان ساهل
10
تهيالي ساهلة
فرق بين

الprotected داخل الباكج ،وخارجه لو درت child class
الdefault داخل الباكج فقط
2👍2
مستوى الامتحان كان؟
Anonymous Poll
9%
سهل
25%
متوسط
67%
صعب
Forwarded from تجمع طلبة تقنية المعلومات جامعة بنغازي
4
شرح تتبع
2
Forwarded from Java (هاجر الهوني💙)
تقدروا اترجموا فيه اي ملف pdf بالانجلش للعربي
..@XFXBOT
Forwarded from Java (هاجر الهوني💙)
public class A {
public static void main(String[]args){
for(int i=1;i>0; i--) { S.o.p(" تذكير "+) S.o.p("العيد خلاص كمل"+); S.o.p("اليوم خميس"+); S.o.p(" السبت دراسة"+); S.o.p("اشقوا بقرايتكم"+); } S.o.p("^تذكير^"); }}
Anonymous Quiz
27%
تذكير العيد خلاص كمل اليوم خميس السبت دراسة اشقوا بقرايتكم
61%
تذكير العيد خلاص كمل اليوم خميس السبت دراسة اشقوا بقرايتكم ^ تذكير ^
12%
تذكير العيد خلاص كمل اليوم خميس السبت دراسة
في علوم الحاسوب، وبالأخص في برمجة الحاسوب وإدارة الذاكرة، الذاكرة العشوائية (RAM) تُقسم عادةً إلى منطقتين رئيسيتين تُستخدمان لإدارة البيانات: الهيب (Heap) و الستاك (Stack). كلاهما يُستخدم لتخزين البيانات، ولكن بطرق مختلفة تمامًا.

### Stack (الستاك)

- التعريف: الستاك هو منطقة من الذاكرة تُستخدم لتخزين البيانات المؤقتة مثل المتغيرات المحلية واستدعاءات الدوال.
- الخصائص:
- LIFO (Last In, First Out): البيانات تُخزن وتُسترجع بترتيب LIFO، أي أن آخر عنصر يتم إضافته هو أول عنصر يتم إزالته.
- إدارة تلقائية: يتم تخصيص وإدارة الستاك تلقائيًا بواسطة النظام. عند استدعاء دالة، يتم تخصيص مساحة على الستاك، وعند انتهاء الدالة، يتم تحرير تلك المساحة.
- سرعة الوصول: الوصول إلى البيانات في الستاك سريع جدًا نظرًا لطبيعة الـLIFO.
- المحدودية: عادةً ما تكون مساحة الستاك محدودة ومخصصة مسبقًا. استخدام كمية كبيرة من الستاك يمكن أن يؤدي إلى "stack overflow".
- الاستخدامات:
- المتغيرات المحلية داخل الدوال.
- عناوين إرجاع الدوال (return addresses).
- بيانات استدعاء الدوال (parameters).

مثال:
public class Example {
public void exampleMethod() {
int localVar = 10; // localVar يتم تخزينه في الستاك
anotherMethod();
}

public void anotherMethod() {
int anotherLocalVar = 20; // anotherLocalVar يتم تخزينه في الستاك
}
}

### Heap (الهيب)

- التعريف: الهيب هو منطقة من الذاكرة تُستخدم لتخصيص وتخزين البيانات الديناميكية التي تحتاج إلى البقاء لفترة أطول من فترة تنفيذ دالة معينة.
- الخصائص:
- إدارة ديناميكية: تخصيص وإدارة الهيب يتم بواسطة المطور أو عن طريق آليات إدارة الذاكرة الديناميكية مثل الجاربيج كولكتور (Garbage Collector) في لغات البرمجة مثل جافا.
- المرونة: الهيب يوفر مساحة كبيرة وغير محددة مسبقًا مقارنة بالستاك، مما يجعله مناسبًا لتخزين كائنات كبيرة أو هياكل بيانات معقدة.
- أبطأ في الوصول: الوصول إلى البيانات في الهيب أبطأ من الستاك نظرًا لتعقيد إدارة الذاكرة الديناميكية.
- الاستخدامات:
- الكائنات (objects) وهياكل البيانات التي تحتاج إلى أن تكون موجودة عبر دوال متعددة أو لفترة طويلة.
- البيانات التي تحتاج إلى تخصيص ديناميكي أثناء وقت التشغيل (runtime).

مثال:
public class Example {
public static void main(String[] args) {
MyClass obj = new MyClass(); // obj يتم تخزينه في الهيب
}
}

class MyClass {
int value;

public MyClass() {
this.value = 10;
}
}

### خلاصة

- Stack: يُستخدم لتخزين المتغيرات المحلية واستدعاءات الدوال. يُدار تلقائيًا وهو سريع جدًا ولكن محدود.
- Heap: يُستخدم لتخصيص الذاكرة الديناميكية للكائنات وهياكل البيانات الكبيرة. يُدار يدويًا أو بواسطة الجاربيج كولكتور وهو أكثر مرونة ولكن أبطأ في الوصول.

كل من الستاك والهيب لهما استخداماتهما المحددة والضرورية في إدارة الذاكرة بشكل فعال أثناء تنفيذ البرامج.
3👍1
Heap (object,array)
Stack(int, double,final...)
جا في امتحان 💔
💔2
لفهم الفرق بين علاقة "has-a" وعلاقة "is-a" وكيفية استخدامهما في البرمجة بلغة جافا، دعني أوضح لك كل منهما بشكل أكثر تفصيلًا مع أمثلة عملية.

### 1. علاقة "has-a" (التكوين - Composition):

علاقة "has-a" تعبر عن العلاقة التي تكون فيها كائن من فئة يحتوي على كائن آخر كجزء منه. هذا النوع من العلاقات يتم استخدامه في البرمجة لتنظيم وتجميع أجزاء مختلفة من البرنامج لتشكيل كائن أكبر وأكثر تعقيدًا.

كيفية استخدام علاقة "has-a" في جافا:

- تعريف المتغيرات الخاصة بالكائنات الأخرى كأعضاء (حقول) في الكائن الأساسي.
- إنشاء كائنات من الفئات الأخرى داخل الكائن الأساسي.
- استخدام الكائنات الفرعية كأدوات أو أجزاء لتنفيذ وظائف معينة داخل الكائن الأساسي.

مثال على علاقة "has-a":

لنفترض أن لدينا فئة Car تحتوي على كائن من فئة Engine كجزء منها:

class Engine {
void start() {
System.out.println("Engine started");
}
}

class Car {
private Engine engine; // كائن Engine كجزء من Car

public Car() {
this.engine = new Engine(); // إنشاء كائن Engine عند إنشاء كائن Car
}

void startCar() {
engine.start(); // استخدام الكائن Engine كجزء من Car
System.out.println("Car started");
}
}

public class Main {
public static void main(String[] args) {
Car myCar = new Car();
myCar.startCar(); // Output: Engine started\nCar started
}
}

في هذا المثال:
- Car تحتوي على كائن engine من الفئة Engine كجزء منها، وهذا يمثل العلاقة "has-a".
- عندما يتم استدعاء myCar.startCar()، يتم بدوره استخدام الدالة start() من كائن engine لبدء المحرك.

### 2. علاقة "is-a" (الوراثة - Inheritance):

علاقة "is-a" تعبر عن الوراثة حيث يمكن لفئة مشتقة (فئة ابنة) أن تورث سمات وسلوك من فئة أساسية (فئة أم). هذا يعني أن كائنات الفئة المشتقة يمكن أن تستفيد من السمات والطرق المعرفة في الفئة الأساسية.

كيفية استخدام علاقة "is-a" في جافا:

- استخدام كلمة مفتاحية extends لتعريف الفئة المشتقة من الفئة الأساسية.
- الوصول إلى الخصائص والطرق الموروثة من الفئة الأساسية دون الحاجة إلى إعادة تعريفها.

مثال على علاقة "is-a":

لنفترض أن لدينا فئتين، Animal وDog حيث Dog تورث Animal:

class Animal {
void sound() {
System.out.println("Animal makes a sound");
}
}

class Dog extends Animal {
void sound() {
System.out.println("Dog barks");
}
}

public class Main {
public static void main(String[] args) {
Animal myAnimal = new Animal();
myAnimal.sound(); // Output: Animal makes a sound

Dog myDog = new Dog();
myDog.sound(); // Output: Dog barks
}
}

في هذا المثال:
- Dog تمتد من Animal باستخدام كلمة مفتاحية extends، مما يعني أن Dog "is-a" Animal.
- عندما يتم استدعاء myDog.sound()، يتم تنفيذ الطريقة المعدلة sound() في Dog التي تطبع "Dog barks" بدلاً من السلوك الافتراضي في Animal.

### الفرق الرئيسي بينهما:

- "has-a": تعبر عن التكوين والتركيب، حيث يحتوي كائن على كائن آخر كجزء منه.
- "is-a": تعبر عن الوراثة، حيث تورث فئة سمات وسلوكًا من فئة أخرى.

باستخدام هذه الفروقات، يمكنك تحديد النوع الصحيح من العلاقة البرمجية التي تحتاج إليها في تصميم برنامجك في جافا.