Transcript دانلود
برنامه نویس ی پیشرفته
مقدمات
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 :و پاسکال ،پیتون و بیسیک
واحدهای ماژول :اشیا
واحدهای ماژول :توابع
ساختار برنامه :گراف
ساختار برنامه :سلسله مراتبی
داده و عملگرها به همدیگر مقید هستند.
داده و عملگرها به همدیگر مقید نیستند.
مجموعه ی اشیا
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
String
name
attributes
(state)
operations
(behaviors)
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مدرن و محبوب
استفاده ی فراوان در صنعت
استفاده در انواع کاربردها
خصوصیات جالب جاوا:
شی گرا
قابل حمل
پشتیبانی آسان از متغییرهای پویا
مدیر حافظه ی خوب
ی 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
•بایت کد از پردازنده مستقل است
• JVMبرای هر پردازنده متفاوت است.
10
interpret
bytecode
)Java Virtual Machine (JVM
compile
source code
Version 9/10
C/C++ کامپایل و اجرا در
Project Library
for Linux
Linux
binary
C/C++
Code
Linux
executable
Linux C/C++ linker
Project Library
for Windows
Windows
binary
Windows
executable
Windows C/C++ linker
Version 9/10
11
کامپایل و اجرا در جاوا
Java
Code
javac Hello.java
Java interpreter (JVM)
translates bytecode to
machine code in JRE
Java compiler
Hello.java
JRE for
Linux
Java
Bytecode
Hello.class
JRE for
Windows
Version 9/10
12
واژه نامه ی جاوا
JVMبه ماشین مجازی جاوا گفته می شود که بایت کد را به کد ماشین
ترجمه می کند.
APIبه واسط برنامه نویسی کاربرد (یعنی همان کتابخانه های جاوا) گفته
می شود.
:JREمحیط اجرایی جاوا
JVMبعالوه ی APIجاوا
JRE :JDK بعالوه ی ابزارهای کامپایل و خطایابی جهت برنامه نویسی
:J2SE نسخه ی استاندارد پالتفرم جاوا 2
JREو JDKبعنوان یک خانواده در نظر گرفته می شوند.
Versionhttp://java.sun.com/javase/technologies/index.jsp
9/10
13
نسخه های جاوا
نسخه ی فعلی :جاوا 6که به اسم جاوای 1.6و 1.6.0نیز
شناخته می شود.
نسخه ی قبلی :جاوا 5که به اسم جاوای 1.5.0 ، 1.5و
جاوای SE 2نسخه ی 5نیز شناخته می شود.
14
Version 9/10
کاربردهای جاوا
انواع برنامه های جاوا:
کاربردها:
برنامه ای که دارای یک کالس است و متدی به نام mainدارد.
هنگام اجرای برنامه ،سیستم بصورت اتوماتیک mainرا صدا می زند.
تمام برنامه های کاربردی جاوا با mainشروع می شوند.
اپلت:
برنامه جاوایی که قرار است توسط مرورگر وب اجرا شود.
می توان آنرا روی اینترنت قرار داد.
می توان توسط برنامه ی مشاهده ی اپلت آنرا اجرا کرد.
تمام اپلتها دارای واسط پنجره هستند .اما کاربردها از کنسول I/Oیا واسط پنجره
استفاده می کنند.
15
Version 9/10
The Eclipse IDE
یک IDEمجتمع برای نوشتن برنامه های جاوا.
شامل:
ادیتور
خطایابی
کامپایلر جاوا
JVM جاوا
قابل دانلود از اینترنت بصورت مجانی است.
16
Version 9/10
Eclipse IDE Screenshot
Version 9/10
17