صفحه 1:
صفحه 2:
* آشنابى با برنامه نويسى شی كرا (000) و طراحی شی گرا
OOO)
۴ آشنایی با زبان جاوا
۴ آشنایی با محیط برنامه نویسی 9۲م۳ا)
* تاکید بر برنامه نویسی صحیح
وب سایت درس: هبتر
صفحه 3:
حضور در کلاس الزامی است.
& تحویل ۶۰ درصد تمرینات برای شرکت در امتحان الزامی است.
© ساختار نمره:
تمرینات برنامه نویسی: ۱۰ سری تمرین مجموعا ۵نمره
* پروژه: انمره
* امتحانات: ۱۴ نمره
* حل تمرینها:
* دكتر تنهابى - يكك جلسه رفع اشکال در هفته
© آقایان کمری و عبداللهی و خانم ملکی نسب: تحویل تمرینات
صفحه 4:
ered el Sec eee eter ieee! 0
0 ObjctOrteted (OO)
مثالها: جاوا. 40+ و رابى مثالها: © و پاسکال؛ پیتون و بسیکک
واحدهای ماژول: اشیا واحدهای ماژول: توابع
ساختار برنامه: AF ساختار برنمه: سلسله مراتبی
داده و عملگرها به همدیگر مقید هستند. ذاقه و خماگرها به میگ مقید ینتند.
مجنوی شا اقا رده
صفحه 5:
public class Hello {
public static void main(String[] args) {
int quotient;
Systen.out.printIn(“Hello, world");
quotient = 3 /
if (quotient == 6) {
System. out.print(*"3/4 == 0");
System.out.printin(" in Java");
1
else {
System.out.println("3/4 != 0");
1
1
1
Things to note
Everything has to be in some class
We need a “nain()"
Statements end with *;"
Variables must be declared
“if/else” syntax different
Statement blacks denarcated by “{..}”
Conments are different ©
abut there is much that is similar
print “Hello, world”
quotient = 3/4
if quotient == 0:
print “3/4 == 0",
print “in Python”
else:
print “3/4 != 0"
صفحه 6:
؟ باید ابتدا یک کلاس تعریف کنیم.
۴ ساختار داده ای که شامل:
؟ خصوصیات: که همان حالت شی هستند.
توابع: که رفتارهای شی را تعریف می کنند.
د م
"aie Ga”
Swe”
(bekniors)
صفحه 7:
برای هر کدام از این حسابها می توان:
*در حساب پول گذاشت.
it حساب بول برداشت.
*صورتحاب گرفت.
*بول انتقال داد.
صفحه 8:
OO ob; EK مدرن و محجوب
* استفاده ی فراوان در صنعت
* استفاده در انواع کاربردها
* خصوصیات جالب جاوا:
* شى كرا
* قابل حمل
* پشتیبانی آسان از متغیبرهای پویا
* مدیر حافظه ی خوب
* کتابخانه ی 911) پیش ساخته
صفحه 9:
* توسط تيم شركت سان به رهبری جیمز گاسلینگ ایجاد شد.
* در ابتدا براى برنامه ريزى وسايل خانكى طراحى شد.
* اين كار مشكل است جون وسايل خانكى از يردازنده هاى متفاوتى
استفاده مى كنند.
* نوشتن يكك كامبايلر براى هر بردازنده مقدور نيست.
* راه حل: ترجمه ی دو مرحله ای:
* کامپایل کردن کد جاوا به یک مرحله ی میانی (بایت کد)
2 اجرای بایت کد توسط مفسری به اسم ماشین مجازی جاوا WO)
صفحه 10:
سر 1000
Onwpied boannpy (ey. O, OF+)
oat [ee fol eee |
“eter preted Lomnanes (e.9. kuiOuret, Perl, Ruby)
*مضر كد برنامه را خط به خط تبديل به باینری کرده و
اجرا می کند. نت مه
"برنامه نویسی سریع و ساده و اجرای کند.
*برای هر پردازنده باید یک مضر بنویسیم
"بایت کد از پردازنده مستقل است ی
امه رهم مایت | fre 0
رلست
(100) باه( لبون مرول
صفحه 11:
0 كاميايل و اجرا در 0/0)++
OlO++ Lienne 0۱0۶+ انا
و
سول Por
+00۲ سل
صفحه 12:
(000) مه معل
و
۳
صفحه 13:
* (260)!ابه ماشیزم جازیجاوا گفته میشود که بایتک درا به کدماشین
تسرجمه میکسند
* 61 به ولسطبرنامه نویسیکاربرد (یعنیهمانکستابخانه هایجاوا) گسفته می
شود.
؟ 690+ محیطلجرلییجاوا
* 620 باودی 01 جاوا
© 0802ل :6066 بعاومدی لبزارهایک امپایلو خطایابیجهتسرنامه نویسی
۲ نسخه ی لستاندارد پسلافرم جاوا 6 e
0و 6ب مولزیکندوانهدرنظرگرفته ميسوند ۰
موز فاصم امه مه زان
صفحه 14:
*نسخه ی فعلی: جاوا ۶ که به اسم جاوای ۱.۶ و ۱.۶.۰ نیز شناخته
می شود.
* نسخه ی قبلی: جاوا ۵ که به اسم جاوای ۰۱.۵ ۱.۵.۰ و جاوای ۲
0 نسخه ی ۵ نیز شناخته می شود.
صفحه 15:
* انواع برنامه های جاوا:
۴ کاربردها:
© برنامه ای که دارای يك کلاس است. و متدی به نام مس دارد.
© هنگام اجرای برنامه. سیستم بصورت اتوماتیک »و را صدا می زند.
* تمام برنامه های کاربردی جاوا با 45 شروع می شوند.
* اپلت:
برنامه جاوایی که قرار است توسط مرو ر گر وب اجرا شود.
می توان آنرا روی اینترنت قرار داد.
می توان توسط برنامه ی مشاهده ی اپلت آنرا اجرا کرد.
plas اپلتها دارای واسط پنجره هستند. اما کاربردها از کنسول 1/60 یا واسط
پنجره استفاده می کنند.
صفحه 16:
0 0 سح ۱
#یک ۶ مجتمع برای نوشتن برنامه های جاوا. شامل:
#ادیتور
خطایابی
؟ کامپایلر جاوا
۴ جوا
قابل دانلود از اینترنت بصورت مجانی است.
صفحه 17:
Se LLesson/ DanceLesson java - Eclipse Platform
(Be EOE souce Retr Aanae Saych Bolet Ben اج
Q- (teen lee) io!
و
1 سك ا
|
مج م5 Sava eet een
Somers
Some peblis clase Dancetessse
Somes
Somes
Dowetence ne | |: عو ع
و
ae A on = 8 ce ome = 0
تس سب
Se
ات
Smee
مد
سوت
Steere
Jai ail
برنامه نویسی پیشرفته
مقدمات
1
محتوی درس
آشنایی با برنامه نویسی شی گرا ( )OOPو طراحی شی گرا
()OOD
آشنایی با زبان جاوا
آشنایی با محیط برنامه نویسی Eclipse
تاکید بر برنامه نویسی صحیح
وب سایت درسwww.ilam.ac.ir/staffs/mozafar/jv :
2
Version 9/10
نمره دهی
حضور در کالس الزامی است.
تحویل 60درصد تمرینات برای شرکت در امتحان الزامی است.
ساختار نمره:
تمرینات برنامه نویسی 10 :سری تمرین مجموعا 5نمره
پروژه2 :نمره
امتحانات 14 :نمره
حل تمرینها:
دکتر تنهایی – یک جلسه رفع اشکال در هفته
آقایان کمری و عبداللهی و خانم ملکی نسب :تحویل تمرینات
3
برنامه نویسی بر اساس تابع و برنامه نویسی شی گرا
)Object-Oriented (OO
مثالها :جاوا ++C ،و رابی
مثالها C :و پاسکال ،پیتون و بیسیک
واحدهای ماژول :اشیا
واحدهای ماژول :توابع
ساختار برنامه :گراف
ساختار برنامه :سلسله مراتبی
داده و عملگRرها به همدیگر مقید هستند.
داده و عملگرها به همدیگر مقید نیستند.
مجموعه ی اشیا
Procedural
سلسه مراتب توابع
4
Version 9/10
مقایسه ی مختصر پیتون و جاوا
Python:
print “Hello, world”
quotient = 3 / 4
if quotient == 0:
print “3/4 == 0”,
print “in Python”
else:
print “3/4 != 0”
Java:
public class Hello {
public static void main(String[] args) {
int quotient;
System.out.println(“Hello, world”);
quotient = 3 / 4;
if (quotient == 0) {
System.out.print(“3/4 == 0”);
System.out.println(“ in Java”);
}
else {
System.out.println(“3/4 != 0”);
}
}
}
// Things to note:
// Everything has to be in some class
// We need a “main()”
// Statements end with ‘;’
// Variables must be declared
// “if/else” syntax different
// Statement blocks demarcated by “{…}”
// Comments are different
// …but there is much that is similar
Version 9/10
5
شی چیست؟
. باید ابتدا یک کالس تعریف کنیم
: ساختار داده ای که شامل
Bank Account
account number
owner’s name
balance
interest rate
more?
deposit money
withdraw money
check balance
transfer money
more?
Version 9/10
. که همان حالت شی هستند:خصوصیات
. که رفتارهای شی را تعریف می کنند:توابع
name
attributes (state)
operations
(behaviors)
String
sequence of characters
more?
compute length
concatenate
test for equality
more?
6
پس شی ...
یک نمونه از کالس است.
Mitchell’s Account
Frey’s Account
43-261-5
Susan Mitchell
$825.50
2.5%
65-432-1
Dennis Frey
$5.50
2.7%
Bergeron’s Account
12-345-6
Ryan Bergeron
$1,250.86
1.5%
برای هر کدام از این حسابها می توان:
•در حساب پول گذاشت.
•از حساب پول برداشت.
•صورتحساب گرفت.
•پول انتقال داد.
7
Version 9/10
وضعیت جاوا در سال 2010
یک زبان OOمدرن و محبوب
استفاده ی فراوان در صنعت
استفاده در انواع کاربردهRا
خصRوصیات جالب جاوا:
شی گرا
قابل حمل
پشتیبانی آسان از متغییرهای پویا
مدیر حافظه ی خوب
کتابخانه ی GUIپیش ساخته
8
Version 9/10
تاریخچه ی جاوا
توسط تیم شرکت سان به رهبری جیمز گاسلینگ ایجاد شد.
در ابتدا برای برنامه ریزی وسایل خانگی طراحی شد.
این کار مشکل است چون وسایل خانگی از پردازنده های متفاوتی
استفاده می کنند.
نوشتن یک کامپایلر برای هر پردازنده مقدور نیست.
راه حل :ترجمه ی دو مرحله ای:
کامپایل کردن کد جاوا به یک مرحله ی میانی (بایت کد)
اجرای بایت کد توسط مفسری به اسم ماشین مجازی جاوا ()JVM
9
Version 9/10
کامپایلر ،مفسر و JVM
)Compiled Languages (e.g. C, C++
برای هر پردازنده باید
یک کامپایلر بنویسیم
execute
binary code
compile
source code
)Interpreted Languages (e.g. JavaScript, Perl, Ruby
• مفسر کد برنامه را خط به خط تبدیل به باینری کرده و
اجرا می کند.
interpret
•برنامه نویسی سریع و ساده و اجرای کند
•برای هر پردازنده باید یک مفسر بنویسیم
source code
Java
•بایت کد از پردازنده مستقل است
interpret
bytecode
• JVMب00را0یهر پ00رداز0نده 0م0تفاو0ت
0ست
ا .
)Java Virtual Machine (JVM
10
compile
source code
Version 9/10
++C/C کامپایل و اجرا در
Project Library
for Linux
Linux
binary
C/C++
Code
++
C
/
xC
Linu
Win
do
Version 9/10
ws
Linux C/C++ linker
iler
p
m
co
C/C
+
Linux
executable
Project Library
for Windows
Windows
binary
+c
om
pile
r
Windows
executable
Windows C/C++ linker
11
کامپایل و اجرا در جاوا
Java
Code
Java
Bytecode
ja
ello
H
va
javac Hello.java
Java interpreter (JVM)
translates bytecode to
machine code in JRE
Java compiler
Hello.java
Version 9/10
JRE for
Linux
Hello.class
java
He
llo
JRE for
Windows
12
واژه نامه ی جاوا
JVMبRRRه مRاشRینمRجازRیجRاوا گRRRفته مRیشRRود کRRRه بRRRایتکRRRد را بRRRه کRRRد مRاشRین
تRRRرجRمه مRیکRRRند.
APIبRRRه واRسRطبRRRرنامRه نRRویسیکRRRارRبرد (یRRعنیهمانکRRRتابRخانRه هایجRاوا) گRRRفته مRی
شRRود.
:JREمRحیطاRجراRییجRاوا
JDK: JREبRRRعالوRه Rی اRبزارRهایکRRRامRپایلو خRطایابRیجRهتبRRRرنامRه نRRویسی
:J2SEنRRسخه ی اRسRتاندارد پRRRالتفرم جRاوا 2
JVMبRRRعالوRه Rی APIجRاوا
JREو JDKبRRRعنواRنیRRکخRانوادRه Rدر نRRظر گRRRرفRته مRیشRRوند.
http://java.sun.com/javase/technologies/index.jsp
13
Version 9/10
نسخه های جاوا
نسخه ی فعلی :جاوا 6که به اسم جاوای 1.6و 1.6.0نیز شناخته
می شود.
نسخه ی قبلی :جاوا 5که به اسم جاوای 1.5.0 ، 1.5و جاوای 2
SEنسخه ی 5نیز شناخته می شود.
14
Version 9/10
کاربردهای جاوا
انواع برنامه های جاوا:
کاربردها:
برنامه ای که دارای 0یک کالس است 0و متدی به نام mainدارد.
هنگام اجرای برنامه ،سیستم بصورت اتوماتیک mainرا صدا می زند.
تمام برنامه های کاربردی جاوا با mainشروع می شوند.
اپلت:
برنامه جاوایی که قرار است 0توسط مرورگر وب اجرا شود.
می توان آنرا روی اینترنت 0قرار داد.
می توان توسط برنامه ی 0مشاهده ی اپلت 0آنرا اجرا کرد.
تمام اپلتها دارای واسط پنجره هستند .اما کاربردها از کنسول I/Oیا واسط
پنجره استفاده می کنند.
15
Version 9/10
The Eclipse IDE
یک IDEمجتمع برای نوشتن برنامه هRای جاوا .شامل:
ادیتور
خطایابی
کامپایلر جاوا
JVMجRاوا
قابل دانلود از اینترنت بصورت مجانی است.
16
Version 9/10
Eclipse IDE Screenshot
Version 9/10
17