180 likes | 425 Views
برنامه نویسی پیشرفته. مقدمات. محتوی درس. آشنایی با برنامه نویسی شی گرا (OOP) و طراحی شی گرا (OOD) آشنایی با زبان جاوا آشنایی با محیط برنامه نویسی Eclipse تاکید بر برنامه نویسی صحیح وب سایت درس: www.ilam.ac.ir/staffs/mozafar/jv. نمره دهی. حضور در کلاس الزامی است.
E N D
برنامه نویسی پیشرفته مقدمات
محتوی درس • آشنایی با برنامه نویسی شی گرا (OOP) و طراحی شی گرا (OOD) • آشنایی با زبان جاوا • آشنایی با محیط برنامه نویسی Eclipse • تاکید بر برنامه نویسی صحیح • وب سایت درس: www.ilam.ac.ir/staffs/mozafar/jv
نمره دهی • حضور در کلاس الزامی است. • تحویل 60 درصد تمرینات برای شرکت در امتحان الزامی است. • ساختار نمره: • تمرینات برنامه نویسی: 10 سری تمرین مجموعا 5 نمره • پروژه: 2نمره • امتحانات: 14 نمره • حل تمرینها:
مجموعه ی اشیا برنامه نویسی بر اساس تابع و برنامه نویسی شی گرا Procedural Object-Oriented (OO) مثالها: جاوا ، C++ و رابی واحدهای ماژول: اشیا ساختار برنامه: گراف داده و عملگرها به همدیگر مقید هستند. مثالها: C و پاسکال، پیتون و بیسیک واحدهای ماژول: توابع ساختار برنامه: سلسله مراتبی داده و عملگرها به همدیگر مقید نیستند. سلسه مراتب توابع
مقایسه ی مختصر پیتون و جاوا 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 Python: print “Hello, world” quotient = 3 / 4 if quotient == 0: print “3/4 == 0”, print “in Python” else: print “3/4 != 0”
Bank Account account number owner’s name balance interest rate more? String sequence of characters more? compute length concatenate test for equality more? deposit money withdraw money check balance transfer money more? شی چیست؟ name attributes (state) operations (behaviors) • باید ابتدا یک کلاس تعریف کنیم. • ساختار داده ای که شامل: • خصوصیات: که همان حالت شی هستند. • توابع: که رفتارهای شی را تعریف می کنند.
12-345-6 Ryan Bergeron $1,250.86 1.5% 65-432-1 Dennis Frey $5.50 2.7% 43-261-5 Susan Mitchell $825.50 2.5% پس شی ... Bergeron’s Account Frey’s Account Mitchell’s Account • برای هر کدام از این حسابها می توان: • در حساب پول گذاشت. • از حساب پول برداشت. • صورتحساب گرفت. • پول انتقال داد. • یک نمونه از کلاس است.
وضعیت جاوا در سال 2010 • یک زبان OO مدرن و محبوب • استفاده ی فراوان در صنعت • استفاده در انواع کاربردها • خصوصیات جالب جاوا: • شی گرا • قابل حمل • پشتیبانی آسان از متغییرهای پویا • مدیر حافظه ی خوب • کتابخانه ی GUI پیش ساخته
تاریخچه ی جاوا • توسط تیم شرکت سان به رهبری جیمز گاسلینگ ایجاد شد. • در ابتدا برای برنامه ریزی وسایل خانگی طراحی شد. • این کار مشکل است چون وسایل خانگی از پردازنده های متفاوتی استفاده می کنند. • نوشتن یک کامپایلر برای هر پردازنده مقدور نیست. • راه حل: ترجمه ی دو مرحله ای: • کامپایل کردن کد جاوا به یک مرحله ی میانی (بایت کد) • اجرای بایت کد توسط مفسری به اسم ماشین مجازی جاوا (JVM)
کامپایلر ، مفسر و JVM Compiled Languages (e.g. C, C++) compile execute source code binary code برای هر پردازنده باید یک کامپایلر بنویسیم Interpreted Languages (e.g. JavaScript, Perl, Ruby) • مفسر کد برنامه را خط به خط تبدیل به باینری کرده و اجرا می کند. • برنامه نویسی سریع و ساده و اجرای کند • برای هر پردازنده باید یک مفسر بنویسیم interpret source code Java • بایت کد از پردازنده مستقل است • JVM برای هر پردازنده متفاوت است. compile interpret source code bytecode Java Virtual Machine (JVM)
Project Library for Linux Linux binary Linux executable C/C++ Code Linux C/C++linker Linux C/C++compiler Project Library for Windows Windows binary Windows executable Windows C/C++ compiler Windows C/C++linker کامپایل و اجرا در C/C++
JRE for Linux Java Code Java Bytecode java Hello javac Hello.java Java interpreter (JVM) translates bytecode to machine code in JRE Java compiler Hello.java Hello.class java Hello JRE for Windows کامپایل و اجرا در جاوا
واژه نامه ی جاوا • JVM به ماشین مجازی جاوا گفته می شود که بایت کد را به کد ماشین ترجمه می کند. • API به واسط برنامه نویسی کاربرد (یعنی همان کتابخانه های جاوا) گفته می شود. • JRE: محیط اجرایی جاوا • JVM بعلاوه ی API جاوا • JDK: JRE بعلاوه ی ابزارهای کامپایل و خطایابی جهت برنامه نویسی • J2SE: نسخه ی استاندارد پلاتفرم جاوا 2 • JRE و JDK بعنوان یک خانواده در نظر گرفته می شوند. http://java.sun.com/javase/technologies/index.jsp
نسخه های جاوا • نسخه ی فعلی: جاوا 6 که به اسم جاوای 1.6 و 1.6.0 نیز شناخته می شود. • نسخه ی قبلی: جاوا 5که به اسم جاوای 1.5 ، 1.5.0 و جاوای 2 SE نسخه ی 5 نیز شناخته می شود.
کاربردهای جاوا • انواع برنامه های جاوا: • کاربردها: • برنامه ای که دارای یک کلاس است و متدی به نام main دارد. • هنگام اجرای برنامه، سیستم بصورت اتوماتیک main را صدا می زند. • تمام برنامه های کاربردی جاوا با main شروع می شوند. • اپلت: • برنامه جاوایی که قرار است توسط مرورگر وب اجرا شود. • می توان آنرا روی اینترنت قرار داد. • می توان توسط برنامه ی مشاهده ی اپلت آنرا اجرا کرد. • تمام اپلتها دارای واسط پنجره هستند. اما کاربردها از کنسول I/O یا واسط پنجره استفاده می کنند.
The Eclipse IDE یک IDE مجتمع برای نوشتن برنامه های جاوا. شامل: ادیتور خطایابی کامپایلر جاوا JVM جاوا قابل دانلود از اینترنت بصورت مجانی است.