0% found this document useful (0 votes)
35 views20 pages

Lesson 1

Uploaded by

Wais Sarwary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views20 pages

Lesson 1

Uploaded by

Wais Sarwary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Lesson 1

Modern Programming Language

Assistant Professor
Qamaruddin Shamsi

Addison Wesley
is an imprint of
Lesson Topics
Lesson 1 discusses the following main topics:
– MPL and it Requirements,

– Objects

– Classes

– Inheritance

– Polymorphism

– Abstraction

– Encapsulation
1-2
Object Oriented Concept

•Object
•Class
•Inheritance
•Polymorphism
•Abstraction
•Encapsulation
6-3
Programming Languages
1. Procedural Programming Lang
2. Object Oriented Programming Lang

Procedural Programming

‫ کود ها پی هم دیگر نوشته میگردد که در نتیجه سبب‬:


‫• ازدیاد کودها‬
‫وقت زیاد برای اجرا‬ •
‫ضیاع انرژی بیشتر‬ •
‫امنیت تضعیف‬ •
‫میگردد‬
Object-Oriented Programming

• Object-Oriented Programming is a methodology


to design a program using classes and objects.

• It simplifies the software development and


maintenance by providing some concepts

OOP •
‫ ها را میسازد هر‬Object ‫ استفاده میکند و‬Method ‫ و‬Class ‫از‬
‫ کنیم‬Call ‫وقتیکه نیاز میشود آنرا‬
6-5
Object
‫شی‬
• Object means a real word entity such as pen,
chair, table etc.
• Any entity that has state and behavior is known
as an object. For example: chair, pen, table,
keyboard, bike etc.
• State: represents data (value) of an object.
• Behavior: represents the behavior (functionality)
of an object deposit, withdraw

6-6
‫‪Object‬‬
‫شی‬
‫•‬ ‫‪Object means a real word entity such as pen, chair, table etc.‬‬
‫• هر آبجکت ‪ 2‬صفت دارد‬
‫‪ -Property .1‬خاصیت – صفت‬
‫خواص پروجکتور مانند رنگ پروجکتور‪ ،‬وزن‪ ،‬قیمت‬
‫‪ -Functionality .2‬کار و یا عمل که انجام میدهد‪ .‬مانند روشن و خاموش شدن‪ ،‬نشان دادن‪،‬‬
‫دروازه را در نظر میگیریم‬
‫خاصیت ها‪ :‬رنگ‪ ،‬جنس‪ ،‬طول‪ ،‬عرض‪ ،‬ارتفاع‬
‫‪ :Functionality‬بازشدن‪ ،‬بسته شدن که در حقیقت یک فعل و یا عمل است که انجام میدهد‪.‬‬
‫‪ Property‬میشود که نام متحول باشد که قیمت را در خود ذخیره میکند و یا دیتاتایپ باشد که نوعیت قیمت ها را‬
‫نشان میدهد‬
‫‪ Method‬یا ‪ Functionality‬به این معنا که یک عمل را انجام میدهد‬
‫پس پروجکتور و دروازه خودش آبجکیت است‪ .‬اما اگر دقیق شویم مفهوم دروازه کلی است میتواند چوبی باشد‪،‬‬
‫فلزی باشد و غیره پس در این صورت دروازه کالس است نه آبجیکت اگر مشخص باشد مانند دروازه زرد‬
‫میشود آبجیکت شود‬

‫‪6-7‬‬
‫در اینجا میخواهیم که ‪ class‬و ‪ object‬را در مثال ذیل توضیح‬
‫‪Class‬‬ ‫دهیم‪.‬‬
‫اگر حیوانات را به ‪ class‬تشبیه نماییم‪ ،‬سگ یا ‪ dog‬یک نوع از‬
‫این ‪ class‬میباشد و به همین خاطر آنرا ‪ object‬میگوییم‪ .‬در‬
‫سالید قبلی صفت های ‪ object‬را مطالعه نمودیم که عبارت از‬
‫‪ property‬و ‪ functionality‬میباشد‪.‬‬
‫چشم‪ ،‬پا‪ ،‬گوش‪ ،‬دم‪ ،‬زبان‪ ،‬دندان و غیره ‪ property‬سگ میباشد‪.‬‬
‫‪Animals‬‬ ‫کارکرد سگ مانند محافظت‪ ،‬گزیدن و غرزدن را‬
‫‪ functionality‬سگ مینامیم‪.‬‬

‫‪Dog‬‬

‫‪Object‬‬

‫‪Functionality‬‬

‫… ‪Guarding, biting, barking‬‬ ‫‪Property‬‬


‫یک مثال را حاال کار میکنیم‬
‫کالس موتر را در نظر میگیریم‬
‫اول پراپرتی آنرا در نظر میگریم مثال ‪ glass،Seets ،Tire‬و ‪door‬‬
‫حال قیمت در نظر میگیریم‬
‫‪ Tire=4 ،engine = 4 ،Color = while‬و ‪door = 4‬‬
‫تمام آن پراپرتی است‬
‫حال پروگرام میسازیم‬
‫{ ‪Class Car‬‬
‫;‪String Color‬‬
‫;‪Int engine‬‬
‫;‪String glass‬‬
‫;‪Int wheel‬‬
‫;‪Short door‬‬
‫حال آیا موتر کدام کار را انجام میدهد؟ بلی‪ .‬حال فنکشن آنرا در نظر میگیریم‬
‫‪Start, stop, door_open, door_close,‬‬
‫{ )( ‪Void Start‬‬
‫};)”… ‪System.out.println (“The car has been started‬‬
‫{)( ‪Void Stop‬‬
‫})”‪System.out.println (“The door has been closed….‬‬
‫بعد از اینکه تمام میتود ها معرفی گرید الزم است تا در میتود اصلی ‪ main‬آبجیکت کالس معرفی گردد تا کار کند‬
‫مانند نقشه که از آن خانه جور میشود‬
Class
A collection of objects is called class.
A class is a group of objects which have common
properties. It is a template or blueprint from which
objects are created.
It is a logical entity. It can't be physical.
A class in Java can contain:
o fields
o methods
o constructors
o blocks
o nested class and interface 6-10
‫نقشه یک تعمیر را میتوان ‪ Class‬و تعمیر فزیکی را ‪ Object‬فکر کرد‪ .‬از روی یک‬
‫نقشه میتوانیم چندین تعمیر را ایجاد کرد‬
‫‪ Scanner‬یک کالس است و با نوشتن )‪Scanner Kh = new Scanner (System.in‬‬
‫درحقیقت ما یک ‪ Object‬آنرا روی صفحه ایجاد کردیم‪ .‬هر وقت که خواسته باشیم‬
‫متحولین و میتود های مختلف کالس سکنر (‪ )nextInt, nextLine‬را استفاده نماییم با‬
‫استفاده از ‪ Kh‬میتوان به تمام آن دسترسی پیدا کرد‬

‫‪ :Method‬مجموعه دستورهای که یک عمل خاص را انجام میدهد‪ .‬به صورت عمومی‬


‫‪ 2‬نوع میتود داریم‪ .‬میتودهای از قبل معرفی شده مانند ‪ nextDouble،nextInt‬و غیره‪.‬‬
‫نوع دوم آن عبارت از میتود هایست که توسط ‪ User‬تعریف میگردد مانند عملیه جمع‪،‬‬
‫ضرب‪ ،‬تقسیم‪ ،‬یافتن جذر مربع و غیره‪.‬‬
‫;) ( ‪Sum A = new Sum‬‬
‫; )‪A . Product ( 20, 30‬‬
‫در حقیقت فایده استفاده ‪ object‬اینست که ضرورت نیست تا هر بار ما کالس های‬
‫متفاوت را روی برنامه بیاوریم ما تنها یک آبجکت آنرا روی صفحه میاوریم و هر‬
‫بار که به میتود های مختلف کالس ضرورت میشود با استفاده از نام همان کالس‬
‫آنرا ‪ call‬مینمایم‪ .‬مثلیکه یک نقشه را میتوان برای تعمیر چندین بالک ها استفاده‬
‫کرد‪.‬‬

‫)‪Scanner Khan = new Scanner (System.in‬‬


‫در اینجا کلمه اول سکنر در حقیقت دیتا تایپ سکنر را مشخص میسازد‪ .‬کلمه‬
‫‪ Khan‬نام سکنر یا متحول است‪ New Scanner .‬نام کالس میباشد‬
Inheritance
‫وراثت‬

• When one object acquires all the properties and


behaviors of parent object i.e. known as
inheritance.
• It provides code reusability. It is used to achieve
runtime polymorphism.

6-14
Polymorphism
‫چندین شکلی‬

• When one task is performed by different ways i.e.


known as polymorphism. For example: to convince the
customer differently, to draw something e.g. shape or
rectangle etc.
• In java, we use method overloading and method
overriding to achieve polymorphism.
• Another example can be to speak something e.g. cat
speaks meaw, dog barks woof etc.

6-16
Abstraction – No details
‫خلص – شکل کلی‬
• Hiding internal details and showing functionality
is known as abstraction. For example: phone call, we
don't know the internal processing.
• In java, we use abstract class and interface to
achieve abstraction.

6-18
Encapsulation
‫کپسول سازی‬

• Binding (or wrapping) code and data together


into a single unit is known as encapsulation.
For example: capsule, it is wrapped with different
medicines.
• A java class is the example of encapsulation.

6-19

You might also like