در خدمت شما دوستان عزیز هستیم با کتاب آموزش برنامه نویسی شی گرا در 21 روز از وب سایت آموزش برنامه نویسی سورس باران. این کتاب آموزش برنامه نویسی شی گرا در 471 صفحه و توسط آقایان عباس ریاضی و مهدی بنواری تهیه ارائه شده است. لیست سرفصل های این کتاب بصورت کامل در ادامه مطلب ذکر شده است.
آموزش برنامه نویسی شی گرا در 21 روز
- مقدمه ای بر برنامه نویسی شیء گرا
- کپسوله سازی : بیاموزید جزئیات را نزد خود نگه دارید
- کپسوله سازی : زمان نوشتن کد
- وراثت : ساختن از هیچ
- وراثت : زمان نوشتن کد
- چند شکلی بودن : بیاموزیم آینده را پیش بینی کنیم
- چند شکلی بودن : زمان نوشتن کد
- آشنایی با UML
- مقدمه ای بر تحلیل شیء گرا (OOA)
- آشنایی با روش طراحی شیء گرا
- استفاده مجدد از طرحها از طریق الگوهای طراحی
- الگوهای پیشرفته طراحی در شیء گرا
- آموزش برنامه نویسی رابط کاربر در شیءگرایی
- آزمون : راه اعتماد به نرم افزار
- ادغام تئوری و عمل
- تکرار دوم Black Jack : افزودن قوانین
- تکرار سوم Black Jack : افزودن شرط بندی
- تکرار چهارم Black Jack : افزودن رابط گرافیکی کاربر
- اعمال روشی متفاوت
- کمی تفریح با بازی
- آخرین قدم
برنامه نویسی شیء گرا چیست؟
«برنامه نویسی شیگرا» (Object-Oriented Programming) یا به اختصار OOP یک الگو یا شیوه تفکر در برنامهنویسی است که برگرفته از دنیای واقعی بوده و از دهه ۱۹۶۰ میلادی مطرح گشته است. به زبانی که از این الگو پشتیبانی کند، «زبان شیگرا» گفته میشود؛ Simula 67 و Smalltalk نخستین زبانهای برنامهنویسی شیگرا هستند. ایده شیگرایی در پاسخ به برخی از نیازها که الگوهای موجود پاسخگو آنها نبودند به وجود آمد؛ نیازهایی مانند: توانایی حل تمامی مسائل پیچیده (Complex)، «پنهانسازی داده» (Data Hiding)، «قابلیت استفاده مجدد» (Reusability) بیشتر، وابستگی کمتر به توابع، انعطاف بالا و…
رویکرد برنامهنویسی شیگرا «از پایین به بالا» (Bottom-Up) است؛ یعنی ابتدا واحدهایی کوچک از برنامه ایجاد میشوند و سپس با پیوند این واحدها، واحدهایی بزرگتر و در نهایت شکلی کامل از برنامه به وجود میآید. برنامهنویسی شیگرا در قالب دو مفهوم «کلاس» (Class) و «شی» (Object) ارایه میگردد. هر کلاس واحدی از برنامه است که تعدادی داده و عملیات را در خود نگهداری میکند و هر شی نیز حالتی (State) مشخص از یک کلاس میباشد.
در برنامهنویسی شیگرا، هر برنامه در قالب موجودیتهای کوچکی که در واقع همان اشیا هستند و با یکدیگر تعامل دارند در نظر گرفته میشود. برای داشتن این اشیا میبایست ابتدا کلاسهای برنامه را تعریف نماییم؛ هر کلاس «رفتار» (Behavior) و «صفات» (Attributes) اشیایی که قرار است از آن ایجاد شوند را تعریف میکند. از یک کلاس میتوان هر تعداد که بخواهیم شی ایجاد نماییم. هر شی بیانگر یک «حالت» یا یک «نمونه» (Instance) از کلاس خود است.
برای مثال، کارخانه تولید یک مدل خودرو را میتوانیم به شکل یک کلاس بزرگ در نظر بگیریم. بدیهی است که این کارخانه شامل بخشهای کوچکتری به مانند: سیستم الکتریکی، سیستم چرخها، سیستم سوخت، سیستم خنک کننده، موتور و… میباشد؛ در این مثال هر یک از این بخشها کلاسی است که باید پیش از کلاس کارخانه ایجاد شود که البته آنها هم به جای خود میتوانند شامل کلاسهای کوچکتر دیگری باشند. از آنجا که هر کلاس توسط اشیا خود موجودیت مییابد؛ میبایست درون کلاس کارخانه نمونههایی از این کلاسهای نام برده ایجاد گردد. قرار گرفتن اشیا در ساختار کلاسی دیگر موجودیت بزرگتری را ایجاد میکند. اکنون با ایجاد هر نمونه از کلاس کارخانه، یک شی یا یک موجودیت جدید ایجاد میگردد که در درون خود شامل تمامی اشیای این کلاسها میباشد. شی حاصل از کلاس کارخانه در این مثال، یک خودرو است.
به هر شی کلاس، یک نمونه از آن کلاس گفته میشود و هر زمان که یک شی از کلاسی ایجاد میگردد در واقع یک نمونه از آن ساخته میشود. به این عمل در شیگرایی «نمونهسازی» (Instantiation) گفته میشود. بر همین اساس دو نوع کلاس در شیگرایی وجود دارد: ۱- کلاسهای عادی که توانایی نمونهسازی دارند و به آنها ”Concrete Class“ گفته میشود ۲- کلاسهایی که توانایی نمونهسازی ندارند و به آنها ”Abstract Class“ گفته میشود.
یکی از مفاهیم دیگر در برنامهنویسی شیگرا، «کپسولهسازی» (Encapsulation) است. کپسولهسازی به معنی قرار دادن عناصر یک ساختار در قالب موجودیتی جدید میباشد. در برنامهنویسی شیگرا با ایجاد هر نمونه از کلاس، عناصر آن (صفات و رفتارها) در قالب یک موجودیت جدید به نام «شی» قرار میگیرد. کپسولهسازی در شیگرایی امکانی است برای پنهانسازی دادهها؛ در این شرایط اشیا بدون اینکه از درون یکدیگر و چگونگی کارکرد هم کوچکترین آگاهی داشته باشند به تعامل با یکدیگر میپردازند.
گفتیم هر کلاس از تعدادی داده و عملیات درون خود نگهداری میکند و همچنین گفتیم هر کلاس رفتار و صفات اشیایی که قرار است از آن ایجاد شوند را تعریف میکند؛ اکنون با ارایه تعریفی کاملتر خواهیم گفت که: هر کلاس از دو بخش «اعضای داده» (Data Members) و «توابع عضو» (Member Functions) تشکیل شده است. اعضای داده در واقع همان متغیرهای درون کلاس هستند که خصوصیات یا صفات شی را بیان میکنند و در شیگرایی با عنوان «فیلد» (Field) یا «صفت» (Attribute) از آنها یاد میشود. توابع عضو نیز عملیات یا کارهایی هستند که یک شی از کلاس قادر به انجام آنها میباشد؛ میتوان توابع عضو را بیانگر رفتار اشیا کلاس دانست. در شیگرایی به این توابع «متد» (Method) گفته میشود. ادامه در کتاب…
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- جم فايل : 15 مگابایت
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۲۱ شهریور ۱۳۹۶
دسته بندی موضوعات
- آموزش برنامه نویسی
- آموزش کریپتو کارنسی (ارز دیجیتال)
- آموزش متنی برنامه نویسی
- پروژه برنامه نویسی
- فروشگاه
- فیلم های آموزشی
- #F
- ++C
- 3ds max
- Ada
- ADO.NET
- Adobe Flash
- Agile
- Ajax
- AngularJS
- Anime Studio
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- assembly
- AVR
- Azure
- Bootstrap
- Cassandra
- CCNA
- CCNP
- CCSP
- ChatGPT
- Cisco
- CMD
- COBOL
- CSS
- Cython
- Django
- Dreameaver
- Elixir
- EntityFramework
- Erlang
- Flash
- Go
- Groovy
- Haskell
- Htaccess
- HTML
- IOS
- Jade
- jquery
- Kendo UI
- Linq
- Linux
- LUA
- MariaDB
- maya
- Meteor
- MongoDB
- Mono Android
- MonoGame
- Mysql
- NoSQL
- Oracle
- Orchard
- Perl
- php
- PHPMyAdmin
- R
- Rational Rose
- Ruby
- Rust
- Scala
- Scrum Master
- SFML
- SharePoint
- SignalR
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- Vue 3
- WPF
- Xml
- آردوینو
- آموزش های پروژه محور
- آیونیک
- اتوکد
- الگوریتم تقریبی
- الگوریتم نویسی و فلوچارت
- امنیت
- اندروید
- اندروید استودیو
- انیمیشن سازی
- بازی سازی با Scratch
- بک ترک
- بیسیک فور اندروید
- پایتون
- پرولوگ
- پریمیر
- جاوا
- جاوا اسکریپت
- جنگو
- جوملا
- دارت
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- ساخت اتوران
- ساختمان داده ها
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کاتلین
- کامپایلرها
- کانستراکت
- کریستال ریپورت
- کلوژر
- گوگل آنالیتیکس
- گیت
- لاراول
- مای بی بی
- مایکروسافت پروجکت
- متریال دیزاین
- متلب
- معماری کامپیوتر
- مهندسی اینترنت
- میکروتیک
- نود جی اس
- نیوک
- هوش مصنوعی
- ویبولوتین
- ویژوال استودیو
- یونیتی
- کتاب های آموزشی
- Ada
- Ajax
- Android
- ASP.NET
- ASP.NET Core
- AVR
- clips
- CNC
- COBOL
- CQRS
- Cython
- Dreamweaver
- Elixir
- Entity Framework 4.0
- Erlang
- Go
- Groovy
- Haskell
- LINQ
- Lua
- Matlab
- MFC
- Node.js
- PERL
- php
- PLC
- Prolog
- React
- Rust
- Scala
- SFML
- SharePoint
- silver light
- VHDL
- VMware
- WinJS
- Workflow
- WPF
- XHTML
- Yii Framework
- اتوکد
- اچ تی ام ال
- اسمبلی
- اکتیو ایکس
- الگوریتم و فلوچارت
- انگولار
- اوبونتو
- اوراکل
- بازی سازی
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- بک ترک
- پاسکال
- پایان نامه
- پایتون
- پرولوگ
- جاوا
- جاوا اسکریپت
- جی کوئری
- حوملا
- داده کاوی
- دلفی
- رباتیک
- روبی
- زبان ماشین
- سئو
- ساختمان داده ها
- سایر کتاب ها
- سخت افزار
- سوئیفت
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- سیستم عامل
- سیستم های خبره
- شبکه و مجازی سازی
- شبیه سازی کامپیوتر
- طراحی الگوریتم
- فتوشاپ
- فریم ورک گتنا
- کاتلین
- کالی لینوکس
- کریستال ریپورت
- گزارش کارآموزی
- گوگل
- لیسپ
- متلب
- مقاله
- مهندسی نرم افزار
- نیوک
- هوش مصنوعی
- وب مستر
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس