SlideShare ist ein Scribd-Unternehmen logo
1 von 29
‫الدروس‬ ‫بدء‬ ‫قبل‬ ‫مالحظات‬
•
‫مجانا‬ ‫توزيعة‬ ‫يتم‬ ‫الكتاب‬ ‫هذا‬
.
•
‫الدروس‬ ‫من‬ ‫تقديمه‬ ‫يتم‬ ‫ماسوف‬ ‫بكل‬ ‫جيدا‬ ‫التركيز‬ ‫منكم‬ ‫الرجاء‬
•
‫عندكم‬ ‫من‬ ‫امثله‬ ‫واعطاء‬ ‫الموجودة‬ ‫االمثله‬ ‫جميع‬ ‫تطبيق‬ ‫الرجاء‬
‫جميا‬ ‫يوفقكم‬ ‫هللا‬ ‫واقول‬ ‫دعاكم‬ ‫منكم‬ ‫انتظر‬ ‫انا‬ ‫االخير‬ ‫وفي‬
.
‫الدروس‬ ‫نبداء‬
..............................
-
‫محاضرة‬ ‫اول‬
-
‫الكئنيه‬ ‫البرمجه‬ ‫مادة‬ ‫في‬ ‫النظري‬ ‫الى‬ ‫منه‬ ‫اكثر‬ ‫العملي‬ ‫شرح‬ ‫الى‬ ‫اكثر‬ ‫يميل‬ ‫الذي‬ ‫الكتاب‬ ‫هذا‬ ‫اليكم‬ ‫اقدم‬ ‫ان‬ ‫يسعدني‬
OOP
‫بتصميمها‬ ‫نقوم‬ ‫سوف‬ ‫التي‬ ‫البرامج‬ ‫في‬ ‫نحتاجها‬ ‫التي‬ ‫االشيا‬ ‫بعض‬ ‫الى‬ ‫بتعرف‬ ‫نبدا‬ ‫سوف‬
Package
:
‫الكالسات‬ ‫من‬ ‫مجموعه‬ ‫هي‬
‫كلمه‬ ‫الباكج‬ ‫تحت‬ ‫يندرج‬
import
‫مثل‬ ‫نحتاجها‬ ‫التي‬ ‫الكالسات‬ ‫كل‬ ‫قبل‬ ‫تكتب‬ ‫التي‬
:
Imprt java.awt.*;
Class
:
‫والمتغيرات‬ ‫الدوال‬ ‫من‬ ‫مجموعه‬ ‫على‬ ‫تحتوي‬ ‫التي‬ ‫هي‬
.
‫مثل‬
:
Class Mohammed{
Public Mohammed()
{
}
void AnyName()
{
}
Public static void main(String args[])
{
}
}
Constructor
:
‫الكونستر‬ ‫فداله‬ ‫السابق‬ ‫المثال‬ ‫في‬ ‫كما‬ ‫للكالس‬ ‫اوبجكت‬ ‫انشا‬ ‫عند‬ ‫وتتنفذ‬ ‫الكالس‬ ‫اسم‬ ‫بنفس‬ ‫الكالس‬ ‫داخل‬ ‫تاتي‬ ‫داله‬ ‫هي‬
‫التي‬ ‫هي‬ ‫كت‬
‫الكالس‬ ‫اسم‬ ‫بنفس‬ ‫اسم‬ ‫تحمل‬
Mohammed
‫الداله‬ ‫هي‬
Mohammed()
‫يلي‬ ‫كما‬ ‫للكالس‬ ‫ممثل‬ ‫اوبجكت‬ ‫انشاء‬ ‫ويتم‬
:
Mohammed mmm=new Mohammed();
‫الداله‬
main
‫كلمة‬ ‫الى‬ ‫يعود‬ ‫والسبب‬ ‫للبرنامج‬ ‫كومبيلر‬ ‫عمل‬ ‫يتم‬ ‫ما‬ ‫اول‬ ‫تتنفذ‬ ‫الداله‬ ‫هي‬
static
‫وينفذها‬ ‫الداله‬ ‫على‬ ‫يتعرف‬ ‫الجافا‬ ‫تبع‬ ‫المترجم‬ ‫ان‬ ‫حيث‬
‫كلمة‬ ‫على‬ ‫تحتوي‬ ‫النها‬ ‫اوال‬
static
.
‫يلي‬ ‫كما‬ ‫الجافا‬ ‫في‬ ‫البرامج‬ ‫هيكل‬ ‫يوضح‬ ‫متكامل‬ ‫نموذج‬ ‫بعمل‬ ‫نقوم‬ ‫سوف‬ ‫هذا‬ ‫بعد‬
:
Java Structure Program:
Package Name;
Import Java Class;
Public classes NameClasss
{
//declaver of variables
int I;
char c;
Jlabel l1;
.
.
.
public void NameClass()
{
System.out.println("");
}
Void show()
{
System.out.println("i="+i);
}
public static void main(String[] args)
{
NameClass N=new NameClass ();
N.i=10;
N.shwo();
}
}
‫الكالس‬ ‫اسم‬
(
‫انشائك‬ ‫من‬ ‫اختياري‬ ‫اسم‬
)
‫الكالس‬ ‫في‬ ‫نحتاجها‬ ‫التي‬ ‫المتغيرات‬ ‫بتعرف‬ ‫نقوم‬ ‫هنا‬
‫الــ‬ ‫دالة‬
constructer
‫ي‬ ‫ولكن‬ ‫االفتراضيه‬ ‫الداله‬ ‫هي‬ ‫المكتوبه‬ ‫الداله‬ ‫هذة‬ ً‫ا‬‫طبع‬
‫مكنك‬
‫تريد‬ ‫كمتا‬ ‫تبعها‬ ‫البدي‬ ‫على‬ ‫التعديل‬
‫بارمتريات‬ ‫اعطائها‬ ‫يمكن‬ ‫عاديه‬ ‫دالة‬
‫الـ‬ ‫الدالة‬
Main
‫للبرنامج‬
‫اسمه‬ ‫للكالس‬ ‫ممثل‬ ‫اوبجكت‬ ‫انشاء‬
N
‫المتغير‬ ‫اعطاء‬
i
‫الكالس‬ ‫داخل‬ ‫الموجود‬
ClassName
‫قيمة‬
‫وقدرها‬
10
‫الداله‬ ‫استدعاء‬
show()
‫الكالس‬ ‫من‬
ClassName
‫بعملها‬ ‫وتقوم‬ ‫تتنفذ‬ ‫حتى‬
‫الدالة‬ ‫الهمية‬
Constructor
‫الـ‬ ‫دالة‬ ‫تنفيذ‬ ‫يتم‬ ‫كيفية‬ ‫يبين‬ ‫مثال‬ ‫باعطاء‬ ‫اقوم‬ ‫سوف‬
Constructor
‫الـ‬ ‫دالة‬ ‫بان‬ ُ‫ا‬‫سابق‬ ‫عرفنا‬ ‫كما‬
Constructor
‫الكالس‬ ‫اسم‬ ‫نفس‬ ‫تمتلك‬
.
‫المثال‬
:
class A{
int x=10;
int y=10;
public A()
{
System.out.println("x+y="+(x+y));
}
public static void main(String[] args) {
new A();
}
}
‫بطباعة‬ ‫يقوم‬ ‫سوف‬ ‫السابق‬ ‫المثال‬
:
x+y=20
‫لسهولته‬ ‫وذالك‬ ‫شرح‬ ‫الى‬ ‫اليحتاج‬ ‫السابق‬ ‫المثال‬ ‫طبعا‬
‫امثله‬
:
class mohammed{
int x;
int y;
String h;
public mohammed()
{
System.out.println("class name:mohammed");
}
void mo(int i)
{
System.out.println("x="+x);
System.out.println("y="+y);
System.out.println("s="+h);
System.out.println("i="+i);
}
public static void main(String[] args) {
mohammed m=new mohammed();
m.x=20;
m.y=30;
m.h="mohammed dawod";
m.mo(10);
}
}
‫االول‬ ‫المثال‬
:
class name:mohammed
x=20
y=30
s=mohammed dawod
i=10
Output
class mohammed{
public mohammed()
{
System.out.println("class name:mohammed");
}
void mo(int i,int m)
{
System.out.println("i+m="+(i+m));
}}
class dawod{
public dawod(){
System.out.println("class name:dawod");
}
public void sum(int i,int j){
System.out.println("i+j="+(i+j));
}
public static void main(String[] args) {
mohammed m=new mohammed();
m.mo(10,20);
dawod d=new dawod();
d.sum(50,100);
}
}
‫الثاني‬ ‫المثال‬
class name:mohammed
i+m=30
class name:dawod
i+j=150
Output
‫االمثله‬ ‫تابع‬
:
‫االمثله‬ ‫تابع‬
:
class dawod{
public dawod(int x,String s){
System.out.println(x+"
"+s);
}
public static void
main(String[] args) {
new dawod(10,"mohammed");
}
}
‫الثالث‬ ‫المثال‬
10
mohammed
Output
‫ج‬ ‫موضوع‬ ‫الى‬ ‫وننتقل‬ ‫السابق‬ ‫الموضوع‬ ‫امثلة‬ ‫من‬ ‫ننتهي‬ ‫هنا‬ ‫الى‬
‫ديد‬
Inheritance
‫الـ‬ ‫في‬ ‫الموجودة‬ ‫المواضيع‬ ‫اهم‬ ‫من‬ ‫موضوع‬ ‫التوريث‬
OOP
.
‫التوريث‬ ‫حول‬ ‫المالحظات‬ ‫بعض‬
(
inheritance
)

‫الكالس‬
class
‫وسلوك‬ ‫صفات‬ ‫ترث‬ ‫ان‬ ‫الممكن‬ ‫من‬
class
‫اخرى‬
.

‫الـ‬
class
‫نسميها‬ ‫ترث‬ ‫التي‬
SubClass
‫والـ‬
class
‫نسميها‬ ‫تورث‬ ‫التي‬
SuperClass
.

‫هي‬ ‫لتوريث‬ ‫ستخدم‬َ‫ت‬ ‫التي‬ ‫الكلمه‬
extends
‫محجوزة‬ ‫كامه‬ ‫وهي‬
.

‫بكلمة‬ ‫محمي‬ ‫كالس‬ ‫من‬ ‫الوراثه‬ ‫اليمكن‬
final
.

‫الـ‬
class
‫االبن‬
subclass
‫الـ‬ ‫داخل‬ ‫المتغيرات‬ ‫قيم‬ ‫على‬ ‫يعدل‬ ‫ان‬ ‫يمكن‬
Class
‫االب‬
superClass
‫محميه‬ ‫المتغيرات‬ ‫هذة‬ ‫تكن‬ ‫مالم‬
‫بكلمة‬
private
‫يكون‬ ‫او‬،‫لتوريث‬ ‫قابله‬ ‫غير‬ ‫المتغيرات‬ ‫هذة‬ ‫ان‬ ‫اي‬
final
‫المتغير‬ ‫قيمة‬ ‫تغيير‬ ‫اليمكن‬ ‫الحاله‬ ‫هذة‬ ‫في‬
.

‫الـ‬
Class
‫االب‬
superClass
‫االب‬ ‫من‬ ‫اكبر‬ ‫يكون‬ ‫ان‬ ‫اليمكن‬ ‫لكنه‬ ‫االبن‬ ‫كود‬ ‫من‬ ‫اكبر‬ ‫او‬ ‫االبن‬ ‫من‬ ‫اصغر‬ ‫فيه‬ ‫الكود‬ ‫حجم‬ ‫يكون‬ ‫ان‬ ‫يمكن‬
‫ن‬
‫الكود‬ ‫حجم‬ ‫حيث‬ ‫من‬
.

‫الـ‬ ‫فؤاد‬ ‫من‬
inheritance
‫مايلي‬
:
.1
‫سابقا‬ ‫المكتوب‬ ‫الكود‬ ‫كتابة‬ ‫تجنب‬
.2
‫واسهل‬ ‫اسرع‬ ‫يكون‬ ‫راح‬ ‫الكالسات‬ ‫لتصحسح‬ ‫الالزم‬ ‫الوقت‬
‫الفؤاد‬ ‫من‬ ‫كثير‬ ‫على‬ ‫يحتوي‬ ‫طبعا‬ ‫لكنه‬ ‫التوريث‬ ‫فؤاد‬ ‫بعض‬ ‫كانت‬ ‫هذة‬
.
‫التوريث‬ ‫على‬ ‫مثال‬ ‫بعرض‬ ‫نقوم‬ ‫سوف‬ ‫االن‬
inheritance
:
‫التاليه‬ ‫الصفحة‬ ‫في‬
‫المثال‬
:
class A{
int x,y;
public void num()
{
System.out.println("x+y="+(x+y));
}
} class B extends A{
}
class run{
public static void main(String[] args)
{
A aa=new A();
B bb=new B();
bb.x=10;
bb.y=20;
bb.num();
} }
•
‫الكالس‬ ‫فان‬ ‫السابق‬ ‫المثال‬ ‫من‬ ‫نالحظ‬ ‫كما‬
B
‫الكالس‬ ‫من‬ ‫ورث‬
A
‫خصائصه‬ ‫كل‬
‫االب‬ ‫الكالس‬ ‫بداخل‬ ‫التي‬ ‫والدوال‬ ‫المتغيرات‬ ‫كل‬ ‫ان‬ ‫اي‬
‫امتلكها‬
‫ب‬ ‫الكالس‬ ‫بداخل‬ ‫هي‬ ‫المتغيرات‬ ‫بان‬ ‫يعني‬ ‫وهذا‬ ‫بي‬ ‫بالكالس‬ ‫الخاص‬ ‫االوبجكت‬ ‫باستخدام‬ ‫قيم‬ ‫المتغيرات‬ ‫اعطينا‬ ‫اننا‬ ‫ذالك‬ ‫على‬ ‫والدليل‬ ‫االبن‬
‫ك‬ ‫ي‬
‫قمنا‬ ‫ذالك‬
‫داله‬ ‫باستدعاء‬
.....
‫التاليه‬ ‫الصفحة‬ ‫في‬ ‫خطوه‬ ‫خطوه‬ ‫البرنامج‬ ‫عمل‬ ‫بشرع‬ ‫اقوم‬ ‫سوف‬ ‫الخ‬
:
‫للمتغيرين‬ ‫قيم‬ ‫باعطاء‬ ‫هنا‬ ‫قمنا‬
x
‫و‬
y
‫الكالس‬ ‫داخل‬ ‫توجد‬ ‫التي‬
B
.
‫الكالس‬ ‫داخل‬ ‫المتغيرات‬ ‫لهذة‬ ‫قيم‬ ‫باعطاء‬ ‫نقوم‬ ‫كيف‬ ‫بعضكم‬ ‫يقول‬ ‫قد‬ ‫هنا‬
B
‫اذا‬
‫ي‬ ‫كما‬ ‫التوريث‬ ‫تفهم‬ ‫لم‬ ‫انت‬ ‫الحاله‬ ‫هذة‬ ‫في‬ ‫فيه؟‬ ‫مكتوبه‬ ‫غير‬ ‫اصال‬ ‫كانت‬
‫لذالك‬ ‫جب‬
‫المثال‬ ‫هذا‬ ‫في‬ ‫اكثر‬ ‫بالتوضيح‬ ‫اقوم‬ ‫سوف‬
.
‫الكالس‬ ‫محتويات‬ ‫جميع‬ ‫عطاء‬ ‫با‬ ‫قمنا‬ ‫لقد‬ ‫اخي‬
A
‫الكالس‬ ‫الى‬
B
‫طريق‬ ‫عن‬
‫الوراثه‬
class A{
int x,y;
public void num()
{
System.out.println("x+y="+(x+y));
}
} class B extends A{
}
class run{
public static void main(String[] args)
{
A aa=new A();
B bb=new B();
bb.x=10;
bb.y=20;
bb.num();
} }
‫البرنامج‬ ‫تنفيذ‬ ‫عند‬
(
‫للبرنامج‬ ‫كومبيلر‬ ‫عمل‬
)
‫البرنامج‬ ‫تنفيذ‬ ‫يتم‬ ‫سوف‬
‫يلي‬ ‫كما‬
:
‫تحتوي‬ ‫التي‬ ‫اوال‬ ‫الرئيسيه‬ ‫الداله‬ ‫تنفيذ‬ ‫يتم‬ ‫سوف‬
static
(
‫الـ‬ ‫تنفيذ‬
body
‫تبع‬
‫التوالي‬ ‫على‬ ‫سطر‬ ‫سطر‬ ‫على‬ ‫الداله‬
)
‫يلي‬ ‫كما‬
‫انشاء‬
object
‫للكالس‬ ‫ممثل‬
A
‫الداله‬ ‫محتوى‬ ‫تنفيذ‬
num()
‫انشاء‬
object
‫للكالس‬ ‫ممثل‬
B
‫الكالس‬ ‫محتوى‬ ‫بان‬ ‫تخيل‬
B
‫يلي‬ ‫كما‬ ‫اصبح‬
:
class B{
int x,y;
public void num()
{
System.out.println("x+y="+x+y);
}
‫كمايلي‬ ‫يكون‬ ‫راح‬ ‫الناتج‬
:
x+y=30
‫امثله‬
:
class mohammed{
int x=10;
int y=20;
void show()
{
System.out.println("x="+x+"n"+"y="+y);
}
}
class dawod extends mohammed{
public dawod(){
++x;
--y;
}
public static void main(String[] args) {
dawod d=new dawod();
d.show();
}
}
‫االول‬ ‫المثال‬
x=11
y=19
Output
Polymorphism
‫وهي‬ ‫جدا‬ ‫هامه‬ ‫مواضيع‬ ‫ثالثه‬ ‫بشرح‬ ‫اقوم‬ ‫سوف‬ ‫االن‬
.1
Overloading
.2
Overriding
.3
Abstract
‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
‫اوال‬
.
:Overloading
‫البارمتريات‬ ‫عدد‬ ‫في‬ ‫تختلف‬ ‫انها‬ ‫اال‬ ‫االسم‬ ‫نفس‬ ‫تحمل‬ ‫اكثر‬ ‫او‬ ‫دالتين‬ ‫عن‬ ‫عبارة‬ ‫هو‬
(
‫المتغيرات‬
)
‫نوعها‬ ‫في‬ ‫او‬
.
‫نظري‬ ‫مثال‬
:
‫باسم‬ ‫مثال‬ ‫االسم‬ ‫بنفس‬ ‫الكالس‬ ‫نفس‬ ‫في‬ ‫دوال‬ ‫ثالث‬ ‫لدينا‬ ‫لوكان‬
sum
‫بارمتر‬ ‫تحمل‬ ‫االولى‬ ‫الداله‬ ‫وكانت‬
(
‫متغير‬
)
‫مثال‬ ‫صحيح‬ ‫نوع‬ ‫من‬
sum(int x)
‫والداله‬
‫مثال‬ ‫كاركتر‬ ‫نوع‬ ‫من‬ ‫بارمتر‬ ‫تحمل‬ ‫الثانيه‬
sum(char x)
‫اثنين‬ ‫بارمترين‬ ‫تحمل‬ ‫الثالثه‬ ‫والداله‬
(
‫متغيران‬
)
‫مثال‬ ‫نوع‬ ‫اي‬ ‫من‬
sum(int i, duoble x)
‫بالتالي‬ ‫قمنا‬ ‫اذا‬ ‫الثالث‬ ‫الدوال‬ ‫هذة‬ ‫حالة‬ ‫في‬
:
-
‫صحيح‬ ‫نوع‬ ‫من‬ ‫قيمه‬ ‫ارسال‬
,
‫ا‬ ‫تحمل‬ ‫التي‬ ‫الدالة‬ ‫هي‬ ‫االجابه‬ ‫؟‬ ‫تتنفذ‬ ‫و‬ ‫البيانات‬ ‫تستقبل‬ ‫راح‬ ‫الثالث‬ ‫الدوال‬ ‫من‬ ‫فاي‬ ‫فقط‬ ‫واحدة‬ ‫قميه‬ ‫طبعا‬
‫لمتغير‬
‫الداله‬ ‫وهي‬ ‫تتنفذ‬ ‫سوف‬ ‫التي‬ ‫هي‬ ‫فقط‬ ‫الصحيح‬
sum(int x)
.
-
‫الت‬ ‫الداله‬ ‫طبعا‬ ‫تتنفذ؟‬ ‫و‬ ‫البيانات‬ ‫تستقبل‬ ‫راح‬ ‫رايكم‬ ‫في‬ ‫الدوال‬ ‫من‬ ‫فاي‬ ‫فقط‬ ‫كاركتر‬ ‫نوع‬ ‫من‬ ‫واحدة‬ ‫قيمه‬ ‫بارسال‬ ‫قمنا‬ ‫اذا‬ ‫حالة‬ ‫وفي‬
‫تحمل‬ ‫ي‬
‫النوع‬ ‫هذا‬
‫وهي‬ ‫تتنفذ‬ ‫سوف‬ ‫التي‬ ‫هي‬ ‫كاركتر‬ ‫نوع‬ ‫من‬ ‫فقط‬ ‫واحد‬ ‫متغير‬ ‫تحمل‬ ‫التي‬ َ‫ا‬‫وايض‬
sum(char x)
-
‫التي‬ ‫الداله‬ ‫طبعا‬ ‫تتنفذ؟‬ ‫و‬ ‫تستقبل‬ ‫راح‬ ‫رايكم‬ ‫في‬ ‫الدوال‬ ‫من‬ ‫فاي‬ ‫دبل‬ ‫نوع‬ ‫من‬ ‫وقميه‬ ‫صحيح‬ ‫نوع‬ ‫من‬ ‫قيمة‬ ‫بارسال‬ ‫قمنا‬ ‫اذا‬ ‫حالة‬ ‫وفي‬
‫تستق‬ ‫سوف‬
‫بل‬
‫هي‬ ‫وتتنفذ‬ ‫البيانات‬
sum(int x,duoble x)
‫القيم‬ ‫ارسال‬ ‫في‬ ‫الترتيب‬ ‫اهمية‬ ‫مالحظه‬ ‫مع‬
‫اكيد‬ ‫خالله‬ ‫من‬ ‫تفهمون‬ ‫وراح‬ ‫مثال‬ ‫باعطااكم‬ ‫اقوم‬ ‫راح‬ ‫هكذا‬ ‫اترككم‬ ‫لن‬ ‫فطبعا‬ ‫الكالم‬ ‫خالل‬ ‫من‬ ‫تفهمو‬ ‫لم‬ ‫ان‬
:
‫العملي‬ ‫المثال‬
‫التاليه‬ ‫الصفحه‬ ‫في‬
‫الـ‬ ‫على‬ ‫مثال‬
Overloading
class overload{
void sum(int x){
System.out.println("x:"+x);
}
void sum(char x)
{
System.out.println("x:"+x);
}
void sum(int i,double x)
{
System.out.println("i:"+i+"&"+"x:"+x);
}
public static void main(String[] args) {
overload oo=new overload();
oo.sum(10);
oo.sum('m');
oo.sum(10,10.5);
}}
‫انت‬ ‫نوع‬ ‫من‬ ‫قيمه‬ ‫بارسال‬ ‫قمنا‬ ‫هنا‬
‫جر‬
x:10
‫كارك‬ ‫نوع‬ ‫من‬ ‫قيمه‬ ‫بارسال‬ ‫قمنا‬ ‫هنا‬
‫تر‬
x:m
‫وقيمة‬ ‫انتجر‬ ‫قيمة‬ ‫بارسال‬ ‫قمنا‬ ‫هنا‬
‫دبل‬
i:10&x:10.5
‫ثانيا‬
.
Overriding
:
-
‫البارمتريات‬ ‫ونفس‬ ‫االسم‬ ‫نفس‬ ‫تحمل‬ ‫اكثر‬ ‫او‬ ‫دالتين‬ ‫عن‬ ‫عبارة‬ ‫هي‬
(
‫المتغيرات‬
)
-
‫اخرى‬ ‫لدالة‬ ‫دالة‬ ‫تخطي‬ ‫عملية‬
.
‫الـ‬ ‫معنى‬ ‫تفهمو‬ ‫لم‬ ‫ان‬
Overriding
‫التالي‬ ‫الشرح‬ ‫خالل‬ ‫من‬ ‫تفهمونها‬ ‫سوف‬ ‫التعريف‬ ‫خالل‬ ‫من‬
:
‫نظري‬ ‫مثال‬
:
‫اسمه‬ ‫االول‬ ‫الكالس‬ ‫كالسين‬ ‫لديك‬ ‫ان‬ ‫مثال‬ ‫افرض‬
A
‫اسمه‬ ‫الثاني‬ ‫والكالس‬
B
‫اسمها‬ ‫داله‬ ‫االول‬ ‫الكالس‬ ‫في‬ ‫كان‬ ‫فاذا‬
sum(int x,int y)
‫الثاني‬ ‫والكالس‬
‫اسمه‬ ‫الذي‬
B
‫اي‬ ‫المتغيرات‬ ‫نفس‬ ‫وتحمل‬ ‫االسم‬ ‫بنفس‬ ‫داله‬ ‫فيه‬
sum(int x,int y)
.
‫الكالس‬ ‫وكان‬
B
‫الكالس‬ ‫من‬ ‫يرث‬
A
‫الكالس‬ ‫ان‬ ‫اي‬
B
‫الكالس‬ ‫محتويات‬ ‫على‬ ‫حتوي‬
A
‫اي‬
class B extends A
.
‫البرنامج‬ ‫هيكل‬ ‫كان‬ ‫هذا‬
.
‫الكالس‬ ‫بان‬ ‫السابق‬ ‫من‬ ‫نعرف‬
B
‫الكالس‬ ‫من‬ ‫ورثها‬ ‫التي‬ ‫االولى‬ ‫الداله‬ ‫االسم‬ ‫بنفس‬ ‫دالتين‬ ‫على‬ ‫يحتوي‬
A
‫اي‬ ‫فيه‬ ‫كتابتها‬ ‫تمت‬ ‫التي‬ ‫هي‬ ‫الثانيه‬ ‫والداله‬
‫تبعه‬ ‫االصليه‬
.
‫الداله‬ ‫الى‬ ‫قيم‬ ‫وارسال‬ ‫استدعا‬ ‫تم‬ ‫اذا‬ ‫يحدث‬ ‫فماذا‬
sum(int x,int y)
‫الكالس‬ ‫داخل‬ ‫توجد‬ ‫التي‬
B
‫اصال‬ ‫كان‬ ‫اذا‬ ‫الداله‬ ‫بتنفيذ‬ ‫البرنامج‬ ‫يقوم‬ ‫سوق‬ ‫فكيف‬
‫البارميتر‬ ‫عدد‬ ‫ونفس‬ ‫االسم‬ ‫بنفس‬ ‫دالتين‬ ‫الكالس‬ ‫في‬ ‫يوجد‬
(
‫المتغيرات‬
)
‫الكالس‬ ‫ورثها‬ ‫التي‬ ‫للداله‬ ‫تخطي‬ ‫يتم‬ ‫سوف‬ ‫هنا‬
B
‫الكالس‬ ‫من‬
A
‫ويتم‬
‫الكالس‬ ‫في‬ ‫المكتوبه‬ ‫الداله‬ ‫تنفيذ‬
B
,
‫بالـ‬ ‫تسمى‬ ‫العمليه‬ ‫هذة‬
overriding
.
‫الـ‬ ‫عملية‬ ‫بعد‬
overriding
‫الكالس‬ ‫في‬ ‫توجد‬ ‫التي‬ ‫الداله‬ ‫احذف‬ ‫جرب‬
B
‫راح‬ ‫الي‬ ‫يحصل‬ ‫راح‬ ‫الي‬ ‫شو‬ ‫الك‬ ‫اقول‬ ‫راح‬ ‫تالحظه؟‬ ‫سوف‬ ‫مالذي‬ ‫البرنامج‬ ‫ونفذ‬
‫الكالس‬ ‫من‬ ‫وراثتها‬ ‫تمت‬ ‫التي‬ ‫للداله‬ ‫يحصل‬ ‫سوف‬ ‫التنفيذ‬ ‫ان‬ ‫هو‬ ‫يحصل‬
A
‫التسمى‬ ‫العمليه‬ ‫وهذة‬
overriding
‫عاديه‬ ‫عمليه‬ ‫وانما‬
.
‫انا‬ ‫االن‬
‫بـالـ‬ ‫اقصد‬ ‫ايش‬ ‫فهمت‬ ‫بانك‬ ‫متاكد‬
overriding
.
‫الـ‬ ‫عملية‬ ‫وفهم‬ ‫بتطبيقه‬ ‫تقومو‬ ‫لكي‬ ‫عملي‬ ‫مثال‬ ‫باعطاكم‬ ‫اقوم‬ ‫سوف‬ ‫االن‬
overriding
‫اكثر‬
:
‫التاليه‬ ‫الصفحه‬ ‫في‬ ‫المثال‬
‫العملي‬ ‫المثال‬
:
class A{
void sum(int x,int y){
System.out.println("in class A: x+y="+(x+y));
}
}
class B extends A{
void sum(int x,int y){
System.out.println("in class B: x+y="+(x+y));
}
public static void main(String[] args) {
B oo=new B();
oo.sum(10,20);
}
}
‫تكون‬ ‫سوف‬ ‫للبرنامج‬ ‫المخرجات‬
:
in class B: x+y=30
‫التاليه‬ ‫بالتجربه‬ ‫قم‬
:
‫الكالس‬ ‫داخل‬ ‫توجد‬ ‫التي‬ ‫الداله‬ ‫احذف‬
B
‫من‬ ‫تالحظه‬ ‫سوف‬ ‫مالذي‬ ‫البرنامج‬ ‫ونفذ‬
‫مخرجات‬
(
‫ليست‬ ‫هذة‬ ‫العمليه‬ ‫طبعا‬
overriding
)
‫الـ‬ ‫عن‬ ‫سؤال‬ ‫تحلونه‬ ‫لكي‬ ‫سؤال‬ ‫اعطيكم‬ ‫سوف‬ ‫االن‬
overriding
‫هو‬ ‫السؤال‬
:
Write java program that use overriding method in two classes one of them is A and the other is B
inhrites A ? (use two methods)
‫ــ‬ ‫الثاني‬ ‫الفصل‬ ‫ــ‬
‫بالتالي‬ ‫اقوم‬ ‫سوف‬ ‫الفصل‬ ‫هذا‬ ‫في‬
:
•
‫الجافا‬ ‫في‬ ‫الواجهات‬ ‫تصميم‬ ‫عن‬ ‫قصيرة‬ ‫مقدمه‬ ‫باعطاء‬ ‫اقوم‬ ‫سوف‬
.
•
‫الواجهات‬ ‫بعض‬ ‫تصميم‬
•
‫خطوة‬ ‫خطوة‬ ‫الواجهات‬ ‫من‬ ‫بتصميمه‬ ‫ماقمنا‬ ‫شرح‬
.
Design interface
(GUI)
‫بتصميمها‬ ‫نقوم‬ ‫سوف‬ ‫التي‬ ‫العناصر‬ ‫بعض‬ ‫على‬ ‫التعرف‬
title bar
menu bar
button
menu
menuItem
TextField
Label
‫الجافا‬ ‫في‬ ‫الواجهات‬ ‫بعض‬ ‫بتصميم‬ ‫نقوم‬ ‫سوف‬ ‫الفصل‬ ‫هذا‬ ‫في‬
‫داخل‬ ‫موجود‬ ‫نحتاجه‬ ‫ماسوف‬ ‫كل‬ ‫طبعا‬
swing
‫و‬
awt
‫اردنا‬ ‫لو‬ ‫فمثال‬
button
‫التالي‬ ‫السطر‬ ‫بكتابة‬ ‫نقوم‬ ‫فسوف‬
:
Imoprt javax.swing.JButton;
‫اردنا‬ ‫ولو‬
label
‫او‬
textfiled
‫از‬
menubar
....
‫الخطوة‬ ‫بنفس‬ ‫نقوم‬ ‫ان‬ ‫اال‬ ‫علينا‬ ‫ما‬ ‫الخ‬
.
‫السط‬ ‫بكتابة‬ ‫اقوم‬ ‫ان‬ ‫المعقول‬ ‫من‬ ‫هل‬ ‫العناصر‬ ‫من‬ ‫كثير‬ ‫على‬ ‫تحتوي‬ ‫واجهه‬ ‫بتصميم‬ ‫نقوم‬ ‫ان‬ ‫اردنا‬ ‫لو‬ ‫منكم‬ ‫البعض‬ ‫يقول‬ ‫قد‬
‫السابق‬ ‫ر‬
‫الس‬ ‫السطر‬ ‫بكتابة‬ ‫تقوم‬ ‫لن‬ ‫طبعا‬ ‫ال‬ ‫الك‬ ‫اقول‬ ‫انا‬ ، ‫مبتدئن‬ ‫برمجه‬ ‫انما‬ ‫محترفين‬ ‫برمجه‬ ‫التعتبر‬ ‫هذة‬ ‫اريدة‬ ‫كائن‬ ‫لكل‬
‫مرة‬ ‫من‬ ‫اكثر‬ ‫ابق‬
‫التالي‬ ‫تكتب‬ ‫ان‬ ‫اال‬ ‫عليك‬ ‫ما‬
:
Import javax.swing.*;
‫على‬ ‫تحتوي‬ ‫نافذة‬ ‫وهو‬ ‫جدا‬ ‫بسيط‬ ‫مثال‬ ‫باعطاء‬ ‫نقوم‬ ‫سوف‬
Button
‫و‬
label
‫و‬
textfiled
‫التالي‬ ‫الشكل‬ ‫بتصميم‬ ‫نقوم‬ ‫سوف‬
:
‫هذا‬ ‫الشكل‬ ‫لتصميم‬ ‫نحتاجه‬ ‫سوف‬ ‫مالذي‬ ‫تحديد‬ ‫االولى‬ ‫الخطوة‬
:
‫الى‬ ‫نحتاج‬
:
•
Jpanal
•
JLabel
•
JTextFiled
•
JButton
‫البرنامج‬ ‫كتابة‬ ‫الثانيه‬ ‫الخطوة‬
:
import javax.swing.*;
class mohammed extends JPanel{
JLabel j1,j2;
JTextField t1,t2;
JButton b1;
public mohammed(){
setLayout(null);
j1=new JLabel("Name");
j1.setBounds(10,20,40,25);
add(j1);
t1=new JTextField();
t1.setBounds(60,20,200,25);
add(t1);
j2=new JLabel("ID");
j2.setBounds(20,50,40,25);
add(j2);
t2=new JTextField();
t2.setBounds(60,50,25,25);
add(t2);
b1=new JButton("ok");
b1.setBounds(110,100,80,30);
add(b1);
}
public static void main(String[] avgs)
{
mohammed m=new mohammed();
JFrame f=new JFrame("fffffff");
f.setVisible(true);
f.setSize(300,250);
f.setContentPane(m);
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
}
} ‫خطوة‬ ‫خطوة‬ ‫على‬ ‫السابق‬ ‫الكود‬ ‫بشرح‬ ‫اقوم‬ ‫سوف‬ ‫االن‬
import javax.swing.*;
class mohammed extends JPanel{
JLabel j1,j2;
JTextField t1,t2;
JButton b1;
‫كال‬ ‫بداخلها‬ ‫توجد‬ ‫التي‬ ‫المكتبه‬
‫من‬
‫للـ‬ ‫الكالس‬ ‫وراثه‬
JPanel
‫جميع‬ ‫وضع‬ ‫يتم‬ ‫سوف‬ ‫الذي‬
‫فيه‬ ‫العناصر‬
public mohammed(){
setLayout(null);
j1=new JLabel("Name");
j1.setBounds(10,20,40,25);
add(j1);
t1=new JTextField();
t1.setBounds(60,20,200,25);
add(t1);
j2=new JLabel("ID");
j2.setBounds(20,50,40,25);
add(j2);
t2=new JTextField();
t2.setBounds(60,50,25,25);
add(t2);
b1=new JButton("ok");
b1.setBounds(110,100,80,30);
add(b1);
}
‫البناء‬ ‫دالة‬
‫لل‬ ‫التلقائي‬ ‫الترتيب‬ ‫ايقاف‬
‫عناصر‬
‫خلق‬
label
‫فيه‬ ‫وكتابه‬
name
Name
‫الـ‬ ‫حجم‬ ‫تحديد‬
label
‫الـ‬ ‫على‬ ‫وموقعه‬
panel
j1.setBounds(10,20,40,25);
(0,0)
(10,20)
40
25
‫الـ‬ ‫باضافة‬ ‫يقوم‬
label
‫الـ‬ ‫الى‬ ‫انشئناة‬ ‫الذي‬
panel
ID
ok
‫التالي‬ ‫الشكل‬ ‫على‬ ‫حصلنا‬ ‫السابق‬ ‫الكود‬ ‫من‬ ‫االن‬ ‫لحد‬
:
ID
ok
name
‫الكود‬ ‫باقي‬ ‫شرح‬ ‫بتكلمة‬ ‫اقوم‬ ‫سوف‬ ‫االن‬
:
‫التاليه‬ ‫الرئيسيه‬ ‫الداله‬ ‫اال‬ ‫لنا‬ ‫يتبقاء‬ ‫لم‬ ‫هنا‬
:
public static void main(String[] avgs)
{
mohammed m=new mohammed();
JFrame f=new JFrame("fffffff");
f.setVisible(true);
f.setSize(300,250);
f.setContentPane(m);
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
}
}
‫للكالس‬ ‫ممثل‬ ‫اوبجكت‬ ‫انشاء‬
mohammed
‫بانشاء‬ ‫قمنا‬ ‫الذي‬ ‫الكالس‬
‫فيه‬ ‫العناصر‬ ‫جميع‬
‫الفريم‬ ‫اضهار‬ ‫دالة‬
‫الفريم‬ ‫حجم‬ ‫تحيد‬
f.setSize(width,height);
‫نهئيا‬ ‫اغالقه‬ ‫يتم‬ ‫البرنامج‬ ‫اغالق‬ ‫عند‬
‫ال‬ ‫الشكل‬ ‫في‬ ‫كما‬ ‫قوائم‬ ‫بتصميم‬ ‫نقوم‬ ‫سوف‬ ‫االن‬
‫تالي‬
:
‫العناصر‬ ‫من‬ ‫نحتاجه‬ ‫سوف‬ ‫مالذي‬ ‫بتحديد‬ ‫نقوم‬ ‫اوال‬
:
‫الى‬ ‫نحتاج‬
:
JMenuBar
JMenu
JMenuItem
‫القائمه‬ ‫لماذا‬ ‫منكم‬ ‫البعض‬ ‫يتسائل‬ ‫قد‬
copy to
‫داخل‬ ‫توجد‬ ‫التي‬
edit
‫نوع‬ ‫من‬
jmenu
‫التي‬ ‫القوائم‬ ‫بينما‬
‫داخل‬ ‫توجد‬
file
‫نوع‬ ‫من‬
JMenuItem
‫تعتبر‬ ‫فرعيه‬ ‫قوائم‬ ‫على‬ ‫تحتوي‬ ‫قائمة‬ ‫اي‬ ‫انه‬ ‫هو‬ ‫تسائلكم‬ ‫على‬ ‫االجابه‬
JMenu
‫وليست‬
JMenuItem
‫البرن‬ ‫بكتابة‬ ‫نقوم‬ ‫ثانيا‬
‫امج‬
:
import javax.swing.*;
class TestMenu extends JPanel{
JMenuBar mbr;
JMenu file,edit,Copy;
JMenuItem New,Open,Exit,c,d,e;
public TestMenu(){
setLayout(null);
mbr=new JMenuBar();
file=new JMenu("file");
edit=new JMenu("Edit");
Copy=new JMenu("Copy TO");
New=new JMenuItem("new");
Open=new JMenuItem("Open");
Exit=new JMenuItem("Exit");
c=new JMenuItem("C:/");
d=new JMenuItem("D:/");
e=new JMenuItem("E:/");
file.add(New);
file.add(Open);
file.add(Exit);
Copy.add(c);
Copy.add(d);
Copy.add(e);
edit.add(Copy);
mbr.add(file);
mbr.add(edit);
add(mbr);
mbr.setBounds(0,0,200,30);
}
public static void main(String args[])
{
JFrame fr=new JFrame("mohammed");
TestMenu td=new TestMenu();
fr.setContentPane(td);
fr.setVisible(true);
fr.setSize(200,200);
fr.setDefaultCloseOperation(3);
}
}
‫الى‬ ‫يحتاج‬ ‫لن‬ ‫ولذالك‬ ‫الحدود‬ ‫ابعد‬ ‫الى‬ ‫سهل‬ ‫البرنامج‬ ‫طبعا‬
‫شرح‬
‫التبويب‬ ‫على‬ ‫ندخل‬ ‫االن‬
:
‫التالي‬ ‫الشكل‬ ‫في‬ ‫كما‬ ‫شي‬ ‫اي‬ ‫على‬ ‫يحتوي‬ ‫تبويب‬ ‫كل‬ ‫تبويبان‬ ‫على‬ ‫يحتوي‬ ‫فريم‬ ‫تصميم‬ ‫ونريد‬
:
‫هامه‬ ‫مالحظه‬
:
‫الى‬ ‫يحتاج‬ ‫تبويب‬ ‫كل‬
Panel
‫القادم‬ ‫الشرح‬ ‫خالل‬ ‫من‬ ‫اكثر‬ ‫المالحظه‬ ‫هذة‬ ‫تفهم‬ ‫سوف‬ ،‫به‬ ‫خاص‬
‫التصم‬ ‫لبنا‬ ‫نحتاجها‬ ‫سوف‬ ‫التي‬ ‫االحتياجات‬ ‫بتحديد‬ ‫نقوم‬ ‫اوال‬
‫السابق‬ ‫يم‬
:
‫الى‬ ‫نحتاج‬
:
JTabbedPane
2
JPanel
2
JLabel
‫الب‬ ‫بكتابة‬ ‫نقوم‬ ‫ثانيا‬
‫رنامج‬
:
import java.awt.Container;
import javax.swing.*;
class Tab extends JFrame {
JLabel Lname,Lme;
JPanel jp1,jp2;
JTabbedPane tab;
Tab(){
super("Tap");
Container co=getContentPane();
Lname=new JLabel("mohammed");
Lme=new JLabel("yemen");
jp1=new JPanel();
jp2=new JPanel();
tab=new JTabbedPane();
jp1.add(Lname);
jp2.add(Lme);
tab.add("Tab1",jp1);
tab.add("Tab2",jp2);
co.add(tab);
setSize(300,150);
setVisible(true);
}
public static void main(String[] args) {
Tab t=new Tab();
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
‫خطوة‬ ‫خطوة‬ ‫السابق‬ ‫الكود‬ ‫شرح‬
:
import javax.swing.*;
class Tab extends JFrame {
JLabel Lname,Lme;
JPanel jp1,jp2;
JTabbedPane tab;
‫المكونات‬ ‫تعريف‬
(
‫ذك‬ ‫السابق‬ ‫االحتياجات‬
‫رها‬
)
Tab(){
super("Tap");
Container co=getContentPane();
Lname=new JLabel("mohammed");
Lme=new JLabel("yemen");
jp1=new JPanel();
jp2=new JPanel();
tab=new JTabbedPane();
jp1.add(Lname);
jp2.add(Lme);
tab.add("Tab1",jp1);
tab.add("Tab2",jp2);
co.add(tab);
setSize(300,150);
setVisible(true);
}
‫س‬ ‫التي‬ ‫المكونات‬ ‫جميع‬ ‫باحظار‬ ‫تقوم‬ ‫الحاويه‬ ‫مثل‬ ‫اعتبرها‬
‫وف‬
‫الـ‬ ‫داخل‬ ‫الى‬ ‫نكونها‬
JFrame
public static void main(String[] args) {
Tab t=new Tab();
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
‫كل‬ ‫في‬ ‫اشرحها‬ ‫ان‬ ‫المعقول‬ ‫من‬ ‫ومش‬ ‫قبل‬ ‫من‬ ‫شرحها‬ ‫قمت‬ ‫الني‬ ‫النقاط‬ ‫بعض‬ ‫بشرح‬ ‫اقم‬ ‫لم‬
‫كود‬
‫الـ‬ ‫من‬ ‫ننتهي‬ ‫هنا‬
Design interface (GUI)
‫ال‬ ‫عناصر‬ ‫جميع‬ ‫الى‬ ‫بتطرق‬ ‫اقم‬ ‫لم‬ ‫طبعا‬ ‫فهمتوها‬ ‫بانكم‬ ‫ارجو‬
GUI
‫الـ‬ ‫مثل‬
JCheckBox
‫و‬
JComboBox
...
‫ه‬ ‫بعد‬ ‫قادرون‬ ‫بانكم‬ ‫واعتقد‬ ‫لكم‬ ‫بكتابتها‬ ‫قمت‬ ‫التي‬ ‫البرامج‬ ‫مع‬ ‫كتابتها‬ ‫لتشابه‬ ‫وذالك‬ ‫الخ‬
‫الشرح‬ ‫ذا‬
‫تريدونها‬ ‫واجهه‬ ‫اي‬ ‫تصميم‬ ‫على‬
...
‫الموضوع‬ ‫هذا‬ ‫في‬ ‫االبداع‬ ‫لكم‬ ‫ارجو‬ ‫الفصل‬ ‫هذا‬ ‫نهاية‬ ‫في‬
.
‫الـ‬ ‫كتاب‬ ‫من‬ ‫االول‬ ‫الجزء‬ ‫نهاية‬
OOP
‫الـ‬ ‫كتاب‬ ‫من‬ ‫الثاني‬ ‫الجزء‬ ‫في‬
OOP
‫بشرح‬ ‫اقوم‬ ‫سوف‬
:
•
EVENT HANDLING
•
STREEM
•
‫البيانات‬ ‫بقواعد‬ ‫جافا‬ ‫اتصال‬
‫بالشرح‬ ‫قام‬
:
‫الطالب‬
:
‫داود‬ ‫صالح‬ ‫راشد‬ ‫محمد‬
‫صنعاء‬ ‫جامعة‬
–
‫المعلومات‬ ‫وتكنولوجيا‬ ‫الحاسوب‬ ‫كلية‬
‫الهجامي‬ ‫فؤاد‬ ‫الدكتور‬ ‫الى‬ ‫الخاص‬ ‫شكري‬ ‫اقدم‬
.......
‫الهجامي‬ ‫فؤاد‬ ‫الدكتور‬ ‫شرح‬ ‫من‬ ‫مستنبط‬ ‫الشرح‬
‫التالي‬ ‫االيميل‬ ‫عبر‬ ‫التواصل‬ ‫الرجاء‬ ‫اسئله‬ ‫اي‬ ‫لديكم‬ ‫كان‬ ‫ان‬
:
MOHAMMED2008_DAWOD@HOTMIAL.COM

Weitere ähnliche Inhalte

Ähnlich wie OOP in JAVA.ppt

مواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScriptمواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScriptMolham Al-Maleh
 
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول ehabhelp
 
Algorithm in discovering and correcting words errors in a dictionary or any w...
Algorithm in discovering and correcting words errors in a dictionary or any w...Algorithm in discovering and correcting words errors in a dictionary or any w...
Algorithm in discovering and correcting words errors in a dictionary or any w...kinan keshkeh
 
لغة البرمجة سكالا
لغة البرمجة سكالالغة البرمجة سكالا
لغة البرمجة سكالاMounir Benhalla
 
جافا سكريبت
جافا سكريبتجافا سكريبت
جافا سكريبتosman do
 
Java 8 lambda expression
Java 8 lambda expressionJava 8 lambda expression
Java 8 lambda expressionRabei Dogho
 
المؤشرات .pptx
المؤشرات .pptxالمؤشرات .pptx
المؤشرات .pptxssuserfcf1ac
 
3 third lesson-reflection
3 third lesson-reflection3 third lesson-reflection
3 third lesson-reflectionMohammad Alyan
 
مقرر معالجة البيانات
مقرر معالجة البياناتمقرر معالجة البيانات
مقرر معالجة البياناتangel1990girle
 

Ähnlich wie OOP in JAVA.ppt (20)

6 arrays
6 arrays6 arrays
6 arrays
 
مواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScriptمواضيع متقدمة في JavaScript
مواضيع متقدمة في JavaScript
 
C++
C++C++
C++
 
C++
C++C++
C++
 
الرياضيات
الرياضياتالرياضيات
الرياضيات
 
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
حاسب الى الصف الف الثالث الاعدادى الفصل الدراسيى الاول
 
Ch7 ar2
Ch7 ar2Ch7 ar2
Ch7 ar2
 
Algorithm in discovering and correcting words errors in a dictionary or any w...
Algorithm in discovering and correcting words errors in a dictionary or any w...Algorithm in discovering and correcting words errors in a dictionary or any w...
Algorithm in discovering and correcting words errors in a dictionary or any w...
 
Luct7.pdf
Luct7.pdfLuct7.pdf
Luct7.pdf
 
1- Languages Basics
1- Languages Basics1- Languages Basics
1- Languages Basics
 
لغة البرمجة سكالا
لغة البرمجة سكالالغة البرمجة سكالا
لغة البرمجة سكالا
 
3- Functions
3-  Functions3-  Functions
3- Functions
 
جافا سكريبت
جافا سكريبتجافا سكريبت
جافا سكريبت
 
Java 8 lambda expression
Java 8 lambda expressionJava 8 lambda expression
Java 8 lambda expression
 
7 functions
7 functions7 functions
7 functions
 
البرمجة+ الستركجر
البرمجة+ الستركجرالبرمجة+ الستركجر
البرمجة+ الستركجر
 
Java Generics
Java GenericsJava Generics
Java Generics
 
المؤشرات .pptx
المؤشرات .pptxالمؤشرات .pptx
المؤشرات .pptx
 
3 third lesson-reflection
3 third lesson-reflection3 third lesson-reflection
3 third lesson-reflection
 
مقرر معالجة البيانات
مقرر معالجة البياناتمقرر معالجة البيانات
مقرر معالجة البيانات
 

OOP in JAVA.ppt

  • 1.
  • 2. ‫الدروس‬ ‫بدء‬ ‫قبل‬ ‫مالحظات‬ • ‫مجانا‬ ‫توزيعة‬ ‫يتم‬ ‫الكتاب‬ ‫هذا‬ . • ‫الدروس‬ ‫من‬ ‫تقديمه‬ ‫يتم‬ ‫ماسوف‬ ‫بكل‬ ‫جيدا‬ ‫التركيز‬ ‫منكم‬ ‫الرجاء‬ • ‫عندكم‬ ‫من‬ ‫امثله‬ ‫واعطاء‬ ‫الموجودة‬ ‫االمثله‬ ‫جميع‬ ‫تطبيق‬ ‫الرجاء‬ ‫جميا‬ ‫يوفقكم‬ ‫هللا‬ ‫واقول‬ ‫دعاكم‬ ‫منكم‬ ‫انتظر‬ ‫انا‬ ‫االخير‬ ‫وفي‬ . ‫الدروس‬ ‫نبداء‬ ..............................
  • 3. - ‫محاضرة‬ ‫اول‬ - ‫الكئنيه‬ ‫البرمجه‬ ‫مادة‬ ‫في‬ ‫النظري‬ ‫الى‬ ‫منه‬ ‫اكثر‬ ‫العملي‬ ‫شرح‬ ‫الى‬ ‫اكثر‬ ‫يميل‬ ‫الذي‬ ‫الكتاب‬ ‫هذا‬ ‫اليكم‬ ‫اقدم‬ ‫ان‬ ‫يسعدني‬ OOP ‫بتصميمها‬ ‫نقوم‬ ‫سوف‬ ‫التي‬ ‫البرامج‬ ‫في‬ ‫نحتاجها‬ ‫التي‬ ‫االشيا‬ ‫بعض‬ ‫الى‬ ‫بتعرف‬ ‫نبدا‬ ‫سوف‬ Package : ‫الكالسات‬ ‫من‬ ‫مجموعه‬ ‫هي‬ ‫كلمه‬ ‫الباكج‬ ‫تحت‬ ‫يندرج‬ import ‫مثل‬ ‫نحتاجها‬ ‫التي‬ ‫الكالسات‬ ‫كل‬ ‫قبل‬ ‫تكتب‬ ‫التي‬ : Imprt java.awt.*; Class : ‫والمتغيرات‬ ‫الدوال‬ ‫من‬ ‫مجموعه‬ ‫على‬ ‫تحتوي‬ ‫التي‬ ‫هي‬ . ‫مثل‬ : Class Mohammed{ Public Mohammed() { } void AnyName() { } Public static void main(String args[]) { } } Constructor : ‫الكونستر‬ ‫فداله‬ ‫السابق‬ ‫المثال‬ ‫في‬ ‫كما‬ ‫للكالس‬ ‫اوبجكت‬ ‫انشا‬ ‫عند‬ ‫وتتنفذ‬ ‫الكالس‬ ‫اسم‬ ‫بنفس‬ ‫الكالس‬ ‫داخل‬ ‫تاتي‬ ‫داله‬ ‫هي‬ ‫التي‬ ‫هي‬ ‫كت‬ ‫الكالس‬ ‫اسم‬ ‫بنفس‬ ‫اسم‬ ‫تحمل‬ Mohammed ‫الداله‬ ‫هي‬ Mohammed() ‫يلي‬ ‫كما‬ ‫للكالس‬ ‫ممثل‬ ‫اوبجكت‬ ‫انشاء‬ ‫ويتم‬ : Mohammed mmm=new Mohammed(); ‫الداله‬ main ‫كلمة‬ ‫الى‬ ‫يعود‬ ‫والسبب‬ ‫للبرنامج‬ ‫كومبيلر‬ ‫عمل‬ ‫يتم‬ ‫ما‬ ‫اول‬ ‫تتنفذ‬ ‫الداله‬ ‫هي‬ static ‫وينفذها‬ ‫الداله‬ ‫على‬ ‫يتعرف‬ ‫الجافا‬ ‫تبع‬ ‫المترجم‬ ‫ان‬ ‫حيث‬ ‫كلمة‬ ‫على‬ ‫تحتوي‬ ‫النها‬ ‫اوال‬ static .
  • 4. ‫يلي‬ ‫كما‬ ‫الجافا‬ ‫في‬ ‫البرامج‬ ‫هيكل‬ ‫يوضح‬ ‫متكامل‬ ‫نموذج‬ ‫بعمل‬ ‫نقوم‬ ‫سوف‬ ‫هذا‬ ‫بعد‬ : Java Structure Program: Package Name; Import Java Class; Public classes NameClasss { //declaver of variables int I; char c; Jlabel l1; . . . public void NameClass() { System.out.println(""); } Void show() { System.out.println("i="+i); } public static void main(String[] args) { NameClass N=new NameClass (); N.i=10; N.shwo(); } } ‫الكالس‬ ‫اسم‬ ( ‫انشائك‬ ‫من‬ ‫اختياري‬ ‫اسم‬ ) ‫الكالس‬ ‫في‬ ‫نحتاجها‬ ‫التي‬ ‫المتغيرات‬ ‫بتعرف‬ ‫نقوم‬ ‫هنا‬ ‫الــ‬ ‫دالة‬ constructer ‫ي‬ ‫ولكن‬ ‫االفتراضيه‬ ‫الداله‬ ‫هي‬ ‫المكتوبه‬ ‫الداله‬ ‫هذة‬ ً‫ا‬‫طبع‬ ‫مكنك‬ ‫تريد‬ ‫كمتا‬ ‫تبعها‬ ‫البدي‬ ‫على‬ ‫التعديل‬ ‫بارمتريات‬ ‫اعطائها‬ ‫يمكن‬ ‫عاديه‬ ‫دالة‬ ‫الـ‬ ‫الدالة‬ Main ‫للبرنامج‬ ‫اسمه‬ ‫للكالس‬ ‫ممثل‬ ‫اوبجكت‬ ‫انشاء‬ N ‫المتغير‬ ‫اعطاء‬ i ‫الكالس‬ ‫داخل‬ ‫الموجود‬ ClassName ‫قيمة‬ ‫وقدرها‬ 10 ‫الداله‬ ‫استدعاء‬ show() ‫الكالس‬ ‫من‬ ClassName ‫بعملها‬ ‫وتقوم‬ ‫تتنفذ‬ ‫حتى‬
  • 5. ‫الدالة‬ ‫الهمية‬ Constructor ‫الـ‬ ‫دالة‬ ‫تنفيذ‬ ‫يتم‬ ‫كيفية‬ ‫يبين‬ ‫مثال‬ ‫باعطاء‬ ‫اقوم‬ ‫سوف‬ Constructor ‫الـ‬ ‫دالة‬ ‫بان‬ ُ‫ا‬‫سابق‬ ‫عرفنا‬ ‫كما‬ Constructor ‫الكالس‬ ‫اسم‬ ‫نفس‬ ‫تمتلك‬ . ‫المثال‬ : class A{ int x=10; int y=10; public A() { System.out.println("x+y="+(x+y)); } public static void main(String[] args) { new A(); } } ‫بطباعة‬ ‫يقوم‬ ‫سوف‬ ‫السابق‬ ‫المثال‬ : x+y=20 ‫لسهولته‬ ‫وذالك‬ ‫شرح‬ ‫الى‬ ‫اليحتاج‬ ‫السابق‬ ‫المثال‬ ‫طبعا‬
  • 6. ‫امثله‬ : class mohammed{ int x; int y; String h; public mohammed() { System.out.println("class name:mohammed"); } void mo(int i) { System.out.println("x="+x); System.out.println("y="+y); System.out.println("s="+h); System.out.println("i="+i); } public static void main(String[] args) { mohammed m=new mohammed(); m.x=20; m.y=30; m.h="mohammed dawod"; m.mo(10); } } ‫االول‬ ‫المثال‬ : class name:mohammed x=20 y=30 s=mohammed dawod i=10 Output
  • 7. class mohammed{ public mohammed() { System.out.println("class name:mohammed"); } void mo(int i,int m) { System.out.println("i+m="+(i+m)); }} class dawod{ public dawod(){ System.out.println("class name:dawod"); } public void sum(int i,int j){ System.out.println("i+j="+(i+j)); } public static void main(String[] args) { mohammed m=new mohammed(); m.mo(10,20); dawod d=new dawod(); d.sum(50,100); } } ‫الثاني‬ ‫المثال‬ class name:mohammed i+m=30 class name:dawod i+j=150 Output ‫االمثله‬ ‫تابع‬ :
  • 8. ‫االمثله‬ ‫تابع‬ : class dawod{ public dawod(int x,String s){ System.out.println(x+" "+s); } public static void main(String[] args) { new dawod(10,"mohammed"); } } ‫الثالث‬ ‫المثال‬ 10 mohammed Output ‫ج‬ ‫موضوع‬ ‫الى‬ ‫وننتقل‬ ‫السابق‬ ‫الموضوع‬ ‫امثلة‬ ‫من‬ ‫ننتهي‬ ‫هنا‬ ‫الى‬ ‫ديد‬
  • 9. Inheritance ‫الـ‬ ‫في‬ ‫الموجودة‬ ‫المواضيع‬ ‫اهم‬ ‫من‬ ‫موضوع‬ ‫التوريث‬ OOP . ‫التوريث‬ ‫حول‬ ‫المالحظات‬ ‫بعض‬ ( inheritance )  ‫الكالس‬ class ‫وسلوك‬ ‫صفات‬ ‫ترث‬ ‫ان‬ ‫الممكن‬ ‫من‬ class ‫اخرى‬ .  ‫الـ‬ class ‫نسميها‬ ‫ترث‬ ‫التي‬ SubClass ‫والـ‬ class ‫نسميها‬ ‫تورث‬ ‫التي‬ SuperClass .  ‫هي‬ ‫لتوريث‬ ‫ستخدم‬َ‫ت‬ ‫التي‬ ‫الكلمه‬ extends ‫محجوزة‬ ‫كامه‬ ‫وهي‬ .  ‫بكلمة‬ ‫محمي‬ ‫كالس‬ ‫من‬ ‫الوراثه‬ ‫اليمكن‬ final .  ‫الـ‬ class ‫االبن‬ subclass ‫الـ‬ ‫داخل‬ ‫المتغيرات‬ ‫قيم‬ ‫على‬ ‫يعدل‬ ‫ان‬ ‫يمكن‬ Class ‫االب‬ superClass ‫محميه‬ ‫المتغيرات‬ ‫هذة‬ ‫تكن‬ ‫مالم‬ ‫بكلمة‬ private ‫يكون‬ ‫او‬،‫لتوريث‬ ‫قابله‬ ‫غير‬ ‫المتغيرات‬ ‫هذة‬ ‫ان‬ ‫اي‬ final ‫المتغير‬ ‫قيمة‬ ‫تغيير‬ ‫اليمكن‬ ‫الحاله‬ ‫هذة‬ ‫في‬ .  ‫الـ‬ Class ‫االب‬ superClass ‫االب‬ ‫من‬ ‫اكبر‬ ‫يكون‬ ‫ان‬ ‫اليمكن‬ ‫لكنه‬ ‫االبن‬ ‫كود‬ ‫من‬ ‫اكبر‬ ‫او‬ ‫االبن‬ ‫من‬ ‫اصغر‬ ‫فيه‬ ‫الكود‬ ‫حجم‬ ‫يكون‬ ‫ان‬ ‫يمكن‬ ‫ن‬ ‫الكود‬ ‫حجم‬ ‫حيث‬ ‫من‬ .  ‫الـ‬ ‫فؤاد‬ ‫من‬ inheritance ‫مايلي‬ : .1 ‫سابقا‬ ‫المكتوب‬ ‫الكود‬ ‫كتابة‬ ‫تجنب‬ .2 ‫واسهل‬ ‫اسرع‬ ‫يكون‬ ‫راح‬ ‫الكالسات‬ ‫لتصحسح‬ ‫الالزم‬ ‫الوقت‬ ‫الفؤاد‬ ‫من‬ ‫كثير‬ ‫على‬ ‫يحتوي‬ ‫طبعا‬ ‫لكنه‬ ‫التوريث‬ ‫فؤاد‬ ‫بعض‬ ‫كانت‬ ‫هذة‬ . ‫التوريث‬ ‫على‬ ‫مثال‬ ‫بعرض‬ ‫نقوم‬ ‫سوف‬ ‫االن‬ inheritance : ‫التاليه‬ ‫الصفحة‬ ‫في‬
  • 10. ‫المثال‬ : class A{ int x,y; public void num() { System.out.println("x+y="+(x+y)); } } class B extends A{ } class run{ public static void main(String[] args) { A aa=new A(); B bb=new B(); bb.x=10; bb.y=20; bb.num(); } } • ‫الكالس‬ ‫فان‬ ‫السابق‬ ‫المثال‬ ‫من‬ ‫نالحظ‬ ‫كما‬ B ‫الكالس‬ ‫من‬ ‫ورث‬ A ‫خصائصه‬ ‫كل‬ ‫االب‬ ‫الكالس‬ ‫بداخل‬ ‫التي‬ ‫والدوال‬ ‫المتغيرات‬ ‫كل‬ ‫ان‬ ‫اي‬ ‫امتلكها‬ ‫ب‬ ‫الكالس‬ ‫بداخل‬ ‫هي‬ ‫المتغيرات‬ ‫بان‬ ‫يعني‬ ‫وهذا‬ ‫بي‬ ‫بالكالس‬ ‫الخاص‬ ‫االوبجكت‬ ‫باستخدام‬ ‫قيم‬ ‫المتغيرات‬ ‫اعطينا‬ ‫اننا‬ ‫ذالك‬ ‫على‬ ‫والدليل‬ ‫االبن‬ ‫ك‬ ‫ي‬ ‫قمنا‬ ‫ذالك‬ ‫داله‬ ‫باستدعاء‬ ..... ‫التاليه‬ ‫الصفحة‬ ‫في‬ ‫خطوه‬ ‫خطوه‬ ‫البرنامج‬ ‫عمل‬ ‫بشرع‬ ‫اقوم‬ ‫سوف‬ ‫الخ‬ :
  • 11. ‫للمتغيرين‬ ‫قيم‬ ‫باعطاء‬ ‫هنا‬ ‫قمنا‬ x ‫و‬ y ‫الكالس‬ ‫داخل‬ ‫توجد‬ ‫التي‬ B . ‫الكالس‬ ‫داخل‬ ‫المتغيرات‬ ‫لهذة‬ ‫قيم‬ ‫باعطاء‬ ‫نقوم‬ ‫كيف‬ ‫بعضكم‬ ‫يقول‬ ‫قد‬ ‫هنا‬ B ‫اذا‬ ‫ي‬ ‫كما‬ ‫التوريث‬ ‫تفهم‬ ‫لم‬ ‫انت‬ ‫الحاله‬ ‫هذة‬ ‫في‬ ‫فيه؟‬ ‫مكتوبه‬ ‫غير‬ ‫اصال‬ ‫كانت‬ ‫لذالك‬ ‫جب‬ ‫المثال‬ ‫هذا‬ ‫في‬ ‫اكثر‬ ‫بالتوضيح‬ ‫اقوم‬ ‫سوف‬ . ‫الكالس‬ ‫محتويات‬ ‫جميع‬ ‫عطاء‬ ‫با‬ ‫قمنا‬ ‫لقد‬ ‫اخي‬ A ‫الكالس‬ ‫الى‬ B ‫طريق‬ ‫عن‬ ‫الوراثه‬ class A{ int x,y; public void num() { System.out.println("x+y="+(x+y)); } } class B extends A{ } class run{ public static void main(String[] args) { A aa=new A(); B bb=new B(); bb.x=10; bb.y=20; bb.num(); } } ‫البرنامج‬ ‫تنفيذ‬ ‫عند‬ ( ‫للبرنامج‬ ‫كومبيلر‬ ‫عمل‬ ) ‫البرنامج‬ ‫تنفيذ‬ ‫يتم‬ ‫سوف‬ ‫يلي‬ ‫كما‬ : ‫تحتوي‬ ‫التي‬ ‫اوال‬ ‫الرئيسيه‬ ‫الداله‬ ‫تنفيذ‬ ‫يتم‬ ‫سوف‬ static ( ‫الـ‬ ‫تنفيذ‬ body ‫تبع‬ ‫التوالي‬ ‫على‬ ‫سطر‬ ‫سطر‬ ‫على‬ ‫الداله‬ ) ‫يلي‬ ‫كما‬ ‫انشاء‬ object ‫للكالس‬ ‫ممثل‬ A ‫الداله‬ ‫محتوى‬ ‫تنفيذ‬ num() ‫انشاء‬ object ‫للكالس‬ ‫ممثل‬ B ‫الكالس‬ ‫محتوى‬ ‫بان‬ ‫تخيل‬ B ‫يلي‬ ‫كما‬ ‫اصبح‬ : class B{ int x,y; public void num() { System.out.println("x+y="+x+y); } ‫كمايلي‬ ‫يكون‬ ‫راح‬ ‫الناتج‬ : x+y=30
  • 12. ‫امثله‬ : class mohammed{ int x=10; int y=20; void show() { System.out.println("x="+x+"n"+"y="+y); } } class dawod extends mohammed{ public dawod(){ ++x; --y; } public static void main(String[] args) { dawod d=new dawod(); d.show(); } } ‫االول‬ ‫المثال‬ x=11 y=19 Output
  • 13. Polymorphism ‫وهي‬ ‫جدا‬ ‫هامه‬ ‫مواضيع‬ ‫ثالثه‬ ‫بشرح‬ ‫اقوم‬ ‫سوف‬ ‫االن‬ .1 Overloading .2 Overriding .3 Abstract ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬ ‫اوال‬ . :Overloading ‫البارمتريات‬ ‫عدد‬ ‫في‬ ‫تختلف‬ ‫انها‬ ‫اال‬ ‫االسم‬ ‫نفس‬ ‫تحمل‬ ‫اكثر‬ ‫او‬ ‫دالتين‬ ‫عن‬ ‫عبارة‬ ‫هو‬ ( ‫المتغيرات‬ ) ‫نوعها‬ ‫في‬ ‫او‬ . ‫نظري‬ ‫مثال‬ : ‫باسم‬ ‫مثال‬ ‫االسم‬ ‫بنفس‬ ‫الكالس‬ ‫نفس‬ ‫في‬ ‫دوال‬ ‫ثالث‬ ‫لدينا‬ ‫لوكان‬ sum ‫بارمتر‬ ‫تحمل‬ ‫االولى‬ ‫الداله‬ ‫وكانت‬ ( ‫متغير‬ ) ‫مثال‬ ‫صحيح‬ ‫نوع‬ ‫من‬ sum(int x) ‫والداله‬ ‫مثال‬ ‫كاركتر‬ ‫نوع‬ ‫من‬ ‫بارمتر‬ ‫تحمل‬ ‫الثانيه‬ sum(char x) ‫اثنين‬ ‫بارمترين‬ ‫تحمل‬ ‫الثالثه‬ ‫والداله‬ ( ‫متغيران‬ ) ‫مثال‬ ‫نوع‬ ‫اي‬ ‫من‬ sum(int i, duoble x) ‫بالتالي‬ ‫قمنا‬ ‫اذا‬ ‫الثالث‬ ‫الدوال‬ ‫هذة‬ ‫حالة‬ ‫في‬ : - ‫صحيح‬ ‫نوع‬ ‫من‬ ‫قيمه‬ ‫ارسال‬ , ‫ا‬ ‫تحمل‬ ‫التي‬ ‫الدالة‬ ‫هي‬ ‫االجابه‬ ‫؟‬ ‫تتنفذ‬ ‫و‬ ‫البيانات‬ ‫تستقبل‬ ‫راح‬ ‫الثالث‬ ‫الدوال‬ ‫من‬ ‫فاي‬ ‫فقط‬ ‫واحدة‬ ‫قميه‬ ‫طبعا‬ ‫لمتغير‬ ‫الداله‬ ‫وهي‬ ‫تتنفذ‬ ‫سوف‬ ‫التي‬ ‫هي‬ ‫فقط‬ ‫الصحيح‬ sum(int x) . - ‫الت‬ ‫الداله‬ ‫طبعا‬ ‫تتنفذ؟‬ ‫و‬ ‫البيانات‬ ‫تستقبل‬ ‫راح‬ ‫رايكم‬ ‫في‬ ‫الدوال‬ ‫من‬ ‫فاي‬ ‫فقط‬ ‫كاركتر‬ ‫نوع‬ ‫من‬ ‫واحدة‬ ‫قيمه‬ ‫بارسال‬ ‫قمنا‬ ‫اذا‬ ‫حالة‬ ‫وفي‬ ‫تحمل‬ ‫ي‬ ‫النوع‬ ‫هذا‬ ‫وهي‬ ‫تتنفذ‬ ‫سوف‬ ‫التي‬ ‫هي‬ ‫كاركتر‬ ‫نوع‬ ‫من‬ ‫فقط‬ ‫واحد‬ ‫متغير‬ ‫تحمل‬ ‫التي‬ َ‫ا‬‫وايض‬ sum(char x) - ‫التي‬ ‫الداله‬ ‫طبعا‬ ‫تتنفذ؟‬ ‫و‬ ‫تستقبل‬ ‫راح‬ ‫رايكم‬ ‫في‬ ‫الدوال‬ ‫من‬ ‫فاي‬ ‫دبل‬ ‫نوع‬ ‫من‬ ‫وقميه‬ ‫صحيح‬ ‫نوع‬ ‫من‬ ‫قيمة‬ ‫بارسال‬ ‫قمنا‬ ‫اذا‬ ‫حالة‬ ‫وفي‬ ‫تستق‬ ‫سوف‬ ‫بل‬ ‫هي‬ ‫وتتنفذ‬ ‫البيانات‬ sum(int x,duoble x) ‫القيم‬ ‫ارسال‬ ‫في‬ ‫الترتيب‬ ‫اهمية‬ ‫مالحظه‬ ‫مع‬ ‫اكيد‬ ‫خالله‬ ‫من‬ ‫تفهمون‬ ‫وراح‬ ‫مثال‬ ‫باعطااكم‬ ‫اقوم‬ ‫راح‬ ‫هكذا‬ ‫اترككم‬ ‫لن‬ ‫فطبعا‬ ‫الكالم‬ ‫خالل‬ ‫من‬ ‫تفهمو‬ ‫لم‬ ‫ان‬ : ‫العملي‬ ‫المثال‬ ‫التاليه‬ ‫الصفحه‬ ‫في‬
  • 14. ‫الـ‬ ‫على‬ ‫مثال‬ Overloading class overload{ void sum(int x){ System.out.println("x:"+x); } void sum(char x) { System.out.println("x:"+x); } void sum(int i,double x) { System.out.println("i:"+i+"&"+"x:"+x); } public static void main(String[] args) { overload oo=new overload(); oo.sum(10); oo.sum('m'); oo.sum(10,10.5); }} ‫انت‬ ‫نوع‬ ‫من‬ ‫قيمه‬ ‫بارسال‬ ‫قمنا‬ ‫هنا‬ ‫جر‬ x:10 ‫كارك‬ ‫نوع‬ ‫من‬ ‫قيمه‬ ‫بارسال‬ ‫قمنا‬ ‫هنا‬ ‫تر‬ x:m ‫وقيمة‬ ‫انتجر‬ ‫قيمة‬ ‫بارسال‬ ‫قمنا‬ ‫هنا‬ ‫دبل‬ i:10&x:10.5
  • 15. ‫ثانيا‬ . Overriding : - ‫البارمتريات‬ ‫ونفس‬ ‫االسم‬ ‫نفس‬ ‫تحمل‬ ‫اكثر‬ ‫او‬ ‫دالتين‬ ‫عن‬ ‫عبارة‬ ‫هي‬ ( ‫المتغيرات‬ ) - ‫اخرى‬ ‫لدالة‬ ‫دالة‬ ‫تخطي‬ ‫عملية‬ . ‫الـ‬ ‫معنى‬ ‫تفهمو‬ ‫لم‬ ‫ان‬ Overriding ‫التالي‬ ‫الشرح‬ ‫خالل‬ ‫من‬ ‫تفهمونها‬ ‫سوف‬ ‫التعريف‬ ‫خالل‬ ‫من‬ : ‫نظري‬ ‫مثال‬ : ‫اسمه‬ ‫االول‬ ‫الكالس‬ ‫كالسين‬ ‫لديك‬ ‫ان‬ ‫مثال‬ ‫افرض‬ A ‫اسمه‬ ‫الثاني‬ ‫والكالس‬ B ‫اسمها‬ ‫داله‬ ‫االول‬ ‫الكالس‬ ‫في‬ ‫كان‬ ‫فاذا‬ sum(int x,int y) ‫الثاني‬ ‫والكالس‬ ‫اسمه‬ ‫الذي‬ B ‫اي‬ ‫المتغيرات‬ ‫نفس‬ ‫وتحمل‬ ‫االسم‬ ‫بنفس‬ ‫داله‬ ‫فيه‬ sum(int x,int y) . ‫الكالس‬ ‫وكان‬ B ‫الكالس‬ ‫من‬ ‫يرث‬ A ‫الكالس‬ ‫ان‬ ‫اي‬ B ‫الكالس‬ ‫محتويات‬ ‫على‬ ‫حتوي‬ A ‫اي‬ class B extends A . ‫البرنامج‬ ‫هيكل‬ ‫كان‬ ‫هذا‬ . ‫الكالس‬ ‫بان‬ ‫السابق‬ ‫من‬ ‫نعرف‬ B ‫الكالس‬ ‫من‬ ‫ورثها‬ ‫التي‬ ‫االولى‬ ‫الداله‬ ‫االسم‬ ‫بنفس‬ ‫دالتين‬ ‫على‬ ‫يحتوي‬ A ‫اي‬ ‫فيه‬ ‫كتابتها‬ ‫تمت‬ ‫التي‬ ‫هي‬ ‫الثانيه‬ ‫والداله‬ ‫تبعه‬ ‫االصليه‬ . ‫الداله‬ ‫الى‬ ‫قيم‬ ‫وارسال‬ ‫استدعا‬ ‫تم‬ ‫اذا‬ ‫يحدث‬ ‫فماذا‬ sum(int x,int y) ‫الكالس‬ ‫داخل‬ ‫توجد‬ ‫التي‬ B ‫اصال‬ ‫كان‬ ‫اذا‬ ‫الداله‬ ‫بتنفيذ‬ ‫البرنامج‬ ‫يقوم‬ ‫سوق‬ ‫فكيف‬ ‫البارميتر‬ ‫عدد‬ ‫ونفس‬ ‫االسم‬ ‫بنفس‬ ‫دالتين‬ ‫الكالس‬ ‫في‬ ‫يوجد‬ ( ‫المتغيرات‬ ) ‫الكالس‬ ‫ورثها‬ ‫التي‬ ‫للداله‬ ‫تخطي‬ ‫يتم‬ ‫سوف‬ ‫هنا‬ B ‫الكالس‬ ‫من‬ A ‫ويتم‬ ‫الكالس‬ ‫في‬ ‫المكتوبه‬ ‫الداله‬ ‫تنفيذ‬ B , ‫بالـ‬ ‫تسمى‬ ‫العمليه‬ ‫هذة‬ overriding . ‫الـ‬ ‫عملية‬ ‫بعد‬ overriding ‫الكالس‬ ‫في‬ ‫توجد‬ ‫التي‬ ‫الداله‬ ‫احذف‬ ‫جرب‬ B ‫راح‬ ‫الي‬ ‫يحصل‬ ‫راح‬ ‫الي‬ ‫شو‬ ‫الك‬ ‫اقول‬ ‫راح‬ ‫تالحظه؟‬ ‫سوف‬ ‫مالذي‬ ‫البرنامج‬ ‫ونفذ‬ ‫الكالس‬ ‫من‬ ‫وراثتها‬ ‫تمت‬ ‫التي‬ ‫للداله‬ ‫يحصل‬ ‫سوف‬ ‫التنفيذ‬ ‫ان‬ ‫هو‬ ‫يحصل‬ A ‫التسمى‬ ‫العمليه‬ ‫وهذة‬ overriding ‫عاديه‬ ‫عمليه‬ ‫وانما‬ . ‫انا‬ ‫االن‬ ‫بـالـ‬ ‫اقصد‬ ‫ايش‬ ‫فهمت‬ ‫بانك‬ ‫متاكد‬ overriding . ‫الـ‬ ‫عملية‬ ‫وفهم‬ ‫بتطبيقه‬ ‫تقومو‬ ‫لكي‬ ‫عملي‬ ‫مثال‬ ‫باعطاكم‬ ‫اقوم‬ ‫سوف‬ ‫االن‬ overriding ‫اكثر‬ : ‫التاليه‬ ‫الصفحه‬ ‫في‬ ‫المثال‬
  • 16. ‫العملي‬ ‫المثال‬ : class A{ void sum(int x,int y){ System.out.println("in class A: x+y="+(x+y)); } } class B extends A{ void sum(int x,int y){ System.out.println("in class B: x+y="+(x+y)); } public static void main(String[] args) { B oo=new B(); oo.sum(10,20); } } ‫تكون‬ ‫سوف‬ ‫للبرنامج‬ ‫المخرجات‬ : in class B: x+y=30 ‫التاليه‬ ‫بالتجربه‬ ‫قم‬ : ‫الكالس‬ ‫داخل‬ ‫توجد‬ ‫التي‬ ‫الداله‬ ‫احذف‬ B ‫من‬ ‫تالحظه‬ ‫سوف‬ ‫مالذي‬ ‫البرنامج‬ ‫ونفذ‬ ‫مخرجات‬ ( ‫ليست‬ ‫هذة‬ ‫العمليه‬ ‫طبعا‬ overriding ) ‫الـ‬ ‫عن‬ ‫سؤال‬ ‫تحلونه‬ ‫لكي‬ ‫سؤال‬ ‫اعطيكم‬ ‫سوف‬ ‫االن‬ overriding ‫هو‬ ‫السؤال‬ : Write java program that use overriding method in two classes one of them is A and the other is B inhrites A ? (use two methods)
  • 17. ‫ــ‬ ‫الثاني‬ ‫الفصل‬ ‫ــ‬ ‫بالتالي‬ ‫اقوم‬ ‫سوف‬ ‫الفصل‬ ‫هذا‬ ‫في‬ : • ‫الجافا‬ ‫في‬ ‫الواجهات‬ ‫تصميم‬ ‫عن‬ ‫قصيرة‬ ‫مقدمه‬ ‫باعطاء‬ ‫اقوم‬ ‫سوف‬ . • ‫الواجهات‬ ‫بعض‬ ‫تصميم‬ • ‫خطوة‬ ‫خطوة‬ ‫الواجهات‬ ‫من‬ ‫بتصميمه‬ ‫ماقمنا‬ ‫شرح‬ . Design interface (GUI)
  • 18. ‫بتصميمها‬ ‫نقوم‬ ‫سوف‬ ‫التي‬ ‫العناصر‬ ‫بعض‬ ‫على‬ ‫التعرف‬ title bar menu bar button menu menuItem TextField Label
  • 19. ‫الجافا‬ ‫في‬ ‫الواجهات‬ ‫بعض‬ ‫بتصميم‬ ‫نقوم‬ ‫سوف‬ ‫الفصل‬ ‫هذا‬ ‫في‬ ‫داخل‬ ‫موجود‬ ‫نحتاجه‬ ‫ماسوف‬ ‫كل‬ ‫طبعا‬ swing ‫و‬ awt ‫اردنا‬ ‫لو‬ ‫فمثال‬ button ‫التالي‬ ‫السطر‬ ‫بكتابة‬ ‫نقوم‬ ‫فسوف‬ : Imoprt javax.swing.JButton; ‫اردنا‬ ‫ولو‬ label ‫او‬ textfiled ‫از‬ menubar .... ‫الخطوة‬ ‫بنفس‬ ‫نقوم‬ ‫ان‬ ‫اال‬ ‫علينا‬ ‫ما‬ ‫الخ‬ . ‫السط‬ ‫بكتابة‬ ‫اقوم‬ ‫ان‬ ‫المعقول‬ ‫من‬ ‫هل‬ ‫العناصر‬ ‫من‬ ‫كثير‬ ‫على‬ ‫تحتوي‬ ‫واجهه‬ ‫بتصميم‬ ‫نقوم‬ ‫ان‬ ‫اردنا‬ ‫لو‬ ‫منكم‬ ‫البعض‬ ‫يقول‬ ‫قد‬ ‫السابق‬ ‫ر‬ ‫الس‬ ‫السطر‬ ‫بكتابة‬ ‫تقوم‬ ‫لن‬ ‫طبعا‬ ‫ال‬ ‫الك‬ ‫اقول‬ ‫انا‬ ، ‫مبتدئن‬ ‫برمجه‬ ‫انما‬ ‫محترفين‬ ‫برمجه‬ ‫التعتبر‬ ‫هذة‬ ‫اريدة‬ ‫كائن‬ ‫لكل‬ ‫مرة‬ ‫من‬ ‫اكثر‬ ‫ابق‬ ‫التالي‬ ‫تكتب‬ ‫ان‬ ‫اال‬ ‫عليك‬ ‫ما‬ : Import javax.swing.*; ‫على‬ ‫تحتوي‬ ‫نافذة‬ ‫وهو‬ ‫جدا‬ ‫بسيط‬ ‫مثال‬ ‫باعطاء‬ ‫نقوم‬ ‫سوف‬ Button ‫و‬ label ‫و‬ textfiled ‫التالي‬ ‫الشكل‬ ‫بتصميم‬ ‫نقوم‬ ‫سوف‬ : ‫هذا‬ ‫الشكل‬ ‫لتصميم‬ ‫نحتاجه‬ ‫سوف‬ ‫مالذي‬ ‫تحديد‬ ‫االولى‬ ‫الخطوة‬ : ‫الى‬ ‫نحتاج‬ : • Jpanal • JLabel • JTextFiled • JButton
  • 20. ‫البرنامج‬ ‫كتابة‬ ‫الثانيه‬ ‫الخطوة‬ : import javax.swing.*; class mohammed extends JPanel{ JLabel j1,j2; JTextField t1,t2; JButton b1; public mohammed(){ setLayout(null); j1=new JLabel("Name"); j1.setBounds(10,20,40,25); add(j1); t1=new JTextField(); t1.setBounds(60,20,200,25); add(t1); j2=new JLabel("ID"); j2.setBounds(20,50,40,25); add(j2); t2=new JTextField(); t2.setBounds(60,50,25,25); add(t2); b1=new JButton("ok"); b1.setBounds(110,100,80,30); add(b1); } public static void main(String[] avgs) { mohammed m=new mohammed(); JFrame f=new JFrame("fffffff"); f.setVisible(true); f.setSize(300,250); f.setContentPane(m); f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); } } ‫خطوة‬ ‫خطوة‬ ‫على‬ ‫السابق‬ ‫الكود‬ ‫بشرح‬ ‫اقوم‬ ‫سوف‬ ‫االن‬
  • 21. import javax.swing.*; class mohammed extends JPanel{ JLabel j1,j2; JTextField t1,t2; JButton b1; ‫كال‬ ‫بداخلها‬ ‫توجد‬ ‫التي‬ ‫المكتبه‬ ‫من‬ ‫للـ‬ ‫الكالس‬ ‫وراثه‬ JPanel ‫جميع‬ ‫وضع‬ ‫يتم‬ ‫سوف‬ ‫الذي‬ ‫فيه‬ ‫العناصر‬ public mohammed(){ setLayout(null); j1=new JLabel("Name"); j1.setBounds(10,20,40,25); add(j1); t1=new JTextField(); t1.setBounds(60,20,200,25); add(t1); j2=new JLabel("ID"); j2.setBounds(20,50,40,25); add(j2); t2=new JTextField(); t2.setBounds(60,50,25,25); add(t2); b1=new JButton("ok"); b1.setBounds(110,100,80,30); add(b1); } ‫البناء‬ ‫دالة‬ ‫لل‬ ‫التلقائي‬ ‫الترتيب‬ ‫ايقاف‬ ‫عناصر‬ ‫خلق‬ label ‫فيه‬ ‫وكتابه‬ name Name ‫الـ‬ ‫حجم‬ ‫تحديد‬ label ‫الـ‬ ‫على‬ ‫وموقعه‬ panel j1.setBounds(10,20,40,25); (0,0) (10,20) 40 25 ‫الـ‬ ‫باضافة‬ ‫يقوم‬ label ‫الـ‬ ‫الى‬ ‫انشئناة‬ ‫الذي‬ panel ID ok
  • 22. ‫التالي‬ ‫الشكل‬ ‫على‬ ‫حصلنا‬ ‫السابق‬ ‫الكود‬ ‫من‬ ‫االن‬ ‫لحد‬ : ID ok name ‫الكود‬ ‫باقي‬ ‫شرح‬ ‫بتكلمة‬ ‫اقوم‬ ‫سوف‬ ‫االن‬ : ‫التاليه‬ ‫الرئيسيه‬ ‫الداله‬ ‫اال‬ ‫لنا‬ ‫يتبقاء‬ ‫لم‬ ‫هنا‬ : public static void main(String[] avgs) { mohammed m=new mohammed(); JFrame f=new JFrame("fffffff"); f.setVisible(true); f.setSize(300,250); f.setContentPane(m); f.setDefaultCloseOperation(f.EXIT_ON_CLOSE); } } ‫للكالس‬ ‫ممثل‬ ‫اوبجكت‬ ‫انشاء‬ mohammed ‫بانشاء‬ ‫قمنا‬ ‫الذي‬ ‫الكالس‬ ‫فيه‬ ‫العناصر‬ ‫جميع‬ ‫الفريم‬ ‫اضهار‬ ‫دالة‬ ‫الفريم‬ ‫حجم‬ ‫تحيد‬ f.setSize(width,height); ‫نهئيا‬ ‫اغالقه‬ ‫يتم‬ ‫البرنامج‬ ‫اغالق‬ ‫عند‬
  • 23. ‫ال‬ ‫الشكل‬ ‫في‬ ‫كما‬ ‫قوائم‬ ‫بتصميم‬ ‫نقوم‬ ‫سوف‬ ‫االن‬ ‫تالي‬ : ‫العناصر‬ ‫من‬ ‫نحتاجه‬ ‫سوف‬ ‫مالذي‬ ‫بتحديد‬ ‫نقوم‬ ‫اوال‬ : ‫الى‬ ‫نحتاج‬ : JMenuBar JMenu JMenuItem ‫القائمه‬ ‫لماذا‬ ‫منكم‬ ‫البعض‬ ‫يتسائل‬ ‫قد‬ copy to ‫داخل‬ ‫توجد‬ ‫التي‬ edit ‫نوع‬ ‫من‬ jmenu ‫التي‬ ‫القوائم‬ ‫بينما‬ ‫داخل‬ ‫توجد‬ file ‫نوع‬ ‫من‬ JMenuItem ‫تعتبر‬ ‫فرعيه‬ ‫قوائم‬ ‫على‬ ‫تحتوي‬ ‫قائمة‬ ‫اي‬ ‫انه‬ ‫هو‬ ‫تسائلكم‬ ‫على‬ ‫االجابه‬ JMenu ‫وليست‬ JMenuItem
  • 24. ‫البرن‬ ‫بكتابة‬ ‫نقوم‬ ‫ثانيا‬ ‫امج‬ : import javax.swing.*; class TestMenu extends JPanel{ JMenuBar mbr; JMenu file,edit,Copy; JMenuItem New,Open,Exit,c,d,e; public TestMenu(){ setLayout(null); mbr=new JMenuBar(); file=new JMenu("file"); edit=new JMenu("Edit"); Copy=new JMenu("Copy TO"); New=new JMenuItem("new"); Open=new JMenuItem("Open"); Exit=new JMenuItem("Exit"); c=new JMenuItem("C:/"); d=new JMenuItem("D:/"); e=new JMenuItem("E:/"); file.add(New); file.add(Open); file.add(Exit); Copy.add(c); Copy.add(d); Copy.add(e); edit.add(Copy); mbr.add(file); mbr.add(edit); add(mbr); mbr.setBounds(0,0,200,30); } public static void main(String args[]) { JFrame fr=new JFrame("mohammed"); TestMenu td=new TestMenu(); fr.setContentPane(td); fr.setVisible(true); fr.setSize(200,200); fr.setDefaultCloseOperation(3); } } ‫الى‬ ‫يحتاج‬ ‫لن‬ ‫ولذالك‬ ‫الحدود‬ ‫ابعد‬ ‫الى‬ ‫سهل‬ ‫البرنامج‬ ‫طبعا‬ ‫شرح‬
  • 25. ‫التبويب‬ ‫على‬ ‫ندخل‬ ‫االن‬ : ‫التالي‬ ‫الشكل‬ ‫في‬ ‫كما‬ ‫شي‬ ‫اي‬ ‫على‬ ‫يحتوي‬ ‫تبويب‬ ‫كل‬ ‫تبويبان‬ ‫على‬ ‫يحتوي‬ ‫فريم‬ ‫تصميم‬ ‫ونريد‬ : ‫هامه‬ ‫مالحظه‬ : ‫الى‬ ‫يحتاج‬ ‫تبويب‬ ‫كل‬ Panel ‫القادم‬ ‫الشرح‬ ‫خالل‬ ‫من‬ ‫اكثر‬ ‫المالحظه‬ ‫هذة‬ ‫تفهم‬ ‫سوف‬ ،‫به‬ ‫خاص‬ ‫التصم‬ ‫لبنا‬ ‫نحتاجها‬ ‫سوف‬ ‫التي‬ ‫االحتياجات‬ ‫بتحديد‬ ‫نقوم‬ ‫اوال‬ ‫السابق‬ ‫يم‬ : ‫الى‬ ‫نحتاج‬ : JTabbedPane 2 JPanel 2 JLabel
  • 26. ‫الب‬ ‫بكتابة‬ ‫نقوم‬ ‫ثانيا‬ ‫رنامج‬ : import java.awt.Container; import javax.swing.*; class Tab extends JFrame { JLabel Lname,Lme; JPanel jp1,jp2; JTabbedPane tab; Tab(){ super("Tap"); Container co=getContentPane(); Lname=new JLabel("mohammed"); Lme=new JLabel("yemen"); jp1=new JPanel(); jp2=new JPanel(); tab=new JTabbedPane(); jp1.add(Lname); jp2.add(Lme); tab.add("Tab1",jp1); tab.add("Tab2",jp2); co.add(tab); setSize(300,150); setVisible(true); } public static void main(String[] args) { Tab t=new Tab(); t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
  • 27. ‫خطوة‬ ‫خطوة‬ ‫السابق‬ ‫الكود‬ ‫شرح‬ : import javax.swing.*; class Tab extends JFrame { JLabel Lname,Lme; JPanel jp1,jp2; JTabbedPane tab; ‫المكونات‬ ‫تعريف‬ ( ‫ذك‬ ‫السابق‬ ‫االحتياجات‬ ‫رها‬ ) Tab(){ super("Tap"); Container co=getContentPane(); Lname=new JLabel("mohammed"); Lme=new JLabel("yemen"); jp1=new JPanel(); jp2=new JPanel(); tab=new JTabbedPane(); jp1.add(Lname); jp2.add(Lme); tab.add("Tab1",jp1); tab.add("Tab2",jp2); co.add(tab); setSize(300,150); setVisible(true); } ‫س‬ ‫التي‬ ‫المكونات‬ ‫جميع‬ ‫باحظار‬ ‫تقوم‬ ‫الحاويه‬ ‫مثل‬ ‫اعتبرها‬ ‫وف‬ ‫الـ‬ ‫داخل‬ ‫الى‬ ‫نكونها‬ JFrame
  • 28. public static void main(String[] args) { Tab t=new Tab(); t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } ‫كل‬ ‫في‬ ‫اشرحها‬ ‫ان‬ ‫المعقول‬ ‫من‬ ‫ومش‬ ‫قبل‬ ‫من‬ ‫شرحها‬ ‫قمت‬ ‫الني‬ ‫النقاط‬ ‫بعض‬ ‫بشرح‬ ‫اقم‬ ‫لم‬ ‫كود‬ ‫الـ‬ ‫من‬ ‫ننتهي‬ ‫هنا‬ Design interface (GUI) ‫ال‬ ‫عناصر‬ ‫جميع‬ ‫الى‬ ‫بتطرق‬ ‫اقم‬ ‫لم‬ ‫طبعا‬ ‫فهمتوها‬ ‫بانكم‬ ‫ارجو‬ GUI ‫الـ‬ ‫مثل‬ JCheckBox ‫و‬ JComboBox ... ‫ه‬ ‫بعد‬ ‫قادرون‬ ‫بانكم‬ ‫واعتقد‬ ‫لكم‬ ‫بكتابتها‬ ‫قمت‬ ‫التي‬ ‫البرامج‬ ‫مع‬ ‫كتابتها‬ ‫لتشابه‬ ‫وذالك‬ ‫الخ‬ ‫الشرح‬ ‫ذا‬ ‫تريدونها‬ ‫واجهه‬ ‫اي‬ ‫تصميم‬ ‫على‬ ... ‫الموضوع‬ ‫هذا‬ ‫في‬ ‫االبداع‬ ‫لكم‬ ‫ارجو‬ ‫الفصل‬ ‫هذا‬ ‫نهاية‬ ‫في‬ .
  • 29. ‫الـ‬ ‫كتاب‬ ‫من‬ ‫االول‬ ‫الجزء‬ ‫نهاية‬ OOP ‫الـ‬ ‫كتاب‬ ‫من‬ ‫الثاني‬ ‫الجزء‬ ‫في‬ OOP ‫بشرح‬ ‫اقوم‬ ‫سوف‬ : • EVENT HANDLING • STREEM • ‫البيانات‬ ‫بقواعد‬ ‫جافا‬ ‫اتصال‬ ‫بالشرح‬ ‫قام‬ : ‫الطالب‬ : ‫داود‬ ‫صالح‬ ‫راشد‬ ‫محمد‬ ‫صنعاء‬ ‫جامعة‬ – ‫المعلومات‬ ‫وتكنولوجيا‬ ‫الحاسوب‬ ‫كلية‬ ‫الهجامي‬ ‫فؤاد‬ ‫الدكتور‬ ‫الى‬ ‫الخاص‬ ‫شكري‬ ‫اقدم‬ ....... ‫الهجامي‬ ‫فؤاد‬ ‫الدكتور‬ ‫شرح‬ ‫من‬ ‫مستنبط‬ ‫الشرح‬ ‫التالي‬ ‫االيميل‬ ‫عبر‬ ‫التواصل‬ ‫الرجاء‬ ‫اسئله‬ ‫اي‬ ‫لديكم‬ ‫كان‬ ‫ان‬ : MOHAMMED2008_DAWOD@HOTMIAL.COM