RSS

OOP in java

18 Aug
ازيكوا ياشباب النهارده ان شاء الله منعانا درس سهل وبسيط ….. ان شاء الله هنتكلم عن OOP وللتنظيم فعناصر الموضوع
هتكون :

1-What IS Class ?
2- What iS an object?
3-What IS OOP?
4- Using Predefind Class
5- Access Modifiers

اولا : ماهو الكلاس (What is A class ) :

class
The term class is the blueprint or recipe from which the object is actually made, or “instantiated.”
يعنى بمعنى أخر ” هو وعاء اللى بتكون موجوده فيه كل المتغيرات والاوبجكتات والميثودز
وطبعا الحاجات بنسميها Class Members
Class Members : IS Methods ,Varaibles Any Thing The Class
طيب لاحظ معى الجاة اللى جاية دى :
ازاى أعمل للكلاس instantiation يعنى ازاى أخد منه Object

CODE: تحديد الكل
Demo x =new Demo();
Demo ده اسم الكلاس اللى انا عايز أخد منه أوبجكت
x ده Refrence على الاوبجكت
CODE: تحديد الكل
new Demo();
ده اللى عمل Creat للــ Object فى Memory فى مكان اسمه Heap
اما X انتوا عارفين راحت فين طبعا فى Stack
طيب ناخد كمان مثال :

CODE: تحديد الكل
MyClass boop;
We are now familiar with this: The first “MyClass boop; ” makes a reference called …..boop

CODE: تحديد الكل
MyClass boop;
At this point, the reference called “boop” does not actually point to any existing object
Soon, it will point to an object of type MyClass, but now the object doesn’t exist

CODE: تحديد الكل
MyClass boop = new MyClass();
When this statement executes, the new keyword executes the default Constructor for MyClass, which actually creates an object in memory and assigns that reference to boop
The handle to that just-created object is given to the MyClass reference boop
Now boop points to the new MyClass object

طيب كده تمام

2- What IS an Object ?

علشان نعتعرف على الاوبجكت بنقول ان Object يحمل كده 3 كلمات

State
Behviour
identity

تعالوا مع بعض كده نعرف كل واحده هى عبارة عن ايه
1-State

ودى بيقولا عنها انها current Values
يعنى بالبلدى كده المتغيرات اللى تخص Object اللى انا أخذته وهتوضح لما ناخد عليها مثال

2-behviour

طبعا اى كان له سلوك وسلوك الاوبجكت (Method )
يعنى كل Object لهbehavior اللى هى Methods

• All objects that are instances of the same class share the same behavior.
They all have the same methods.

3-identity
لما انا اقول

CODE: تحديد الكل
Demo x=new Demo();
هنا الــ identity هى x
هنا الــ identity هى refrence

المثال العام احنا قلناه الكورس
كده النقطة التانية تمام
نيجى بقى لاهم نقطة خالص

3- What Is OOP?

طبعا احنا قلنا فى اول مرة خالص ان من مميزات لغة الجافا انها تطبق مبادئ OOP طيب ايه هى المبادئ دى
احنا عندنا 3 مبادئ

1-Encbsulation
2- Inheritanc
3-polymorphism

أولا : Encbsulation
معناها (الكبسلة ) وتسمى ايضا (Information Hiding )
ودى انا اجمع كل الحاجات اللى عندى فى Class واحد واحمى الكلاس ده باخفاء المعلومات اللى فيه وطبعا احنا عرفناه بالتفصيل شويه
2- Inhiritance ( الوراثه ) :
بداية ياجماعة احنا قلنا ان العلاقة بين Classes 3 حاجات حد فيكوا فكرهم ………. ايوة تمام كده زى منتوا قلتوا بالظبط

Relationships Between Classes
• Classes can be related to each other in one of three alternative ways:
use
containment
inheritance

طيب
1- use
لما انا أخد Object من كلاس واحطه فى كلاس تانى كده بطبق حالتين (Use-Contain ) .

CODE: تحديد الكل
public class Hamada{

public static void main(String args[]){

Demo x=new Demo();

}
}

كده بقى Class Hamada ده بيطبق حالتين
USe لانه كده بيستخدم الكلاس Demo
Contain لانه يحتوى كده على الكلاس Demo بداخله

اما عن الحالة الثالثة فهى Inheritance
وعلشان نتعرف على النوع ده يتثنى لنا ان تعرف على بعض المصطلحات زى :
Superclass >>>>> Parent Class
Subclass>>>>>>> Child Class

A Subclass inherits the behavior and variables of the Superclass

the Superclass immediately above a Subclass is called its Direct Superclass

Finally, since the Subclass has everything the Superclass has, we can say

Every Subclass is also an
object of the Superclass

ازاى بعمل inheritanc

عن طريق طبعا keyword سمها extends

CODE: تحديد الكل
class A{

//here some methods and variables

}

class B extends A{

here i inhrit all methods and variables from the class A

}

ولكن طبعا مش كل Variables سيتم لها عملية الوراثة طب ليه
ده هيكون بناء على مبدا حجاة اسمها Access Modifier ان شاء الله هكمل الدرس النهارده وهنبدأ فى الجزء التانى بوضع امثلة على Inheritance

 
Leave a comment

Posted by on August 18, 2009 in Java Course

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

 
%d bloggers like this: