نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
اهداف دوره:
- آشنایی با فرآیندها و مزایای برنامهنویسی شیءگرا (OOP)
- شناسایی کلاسها و مدلسازی اشیاء در کد
- ذخیرهسازی اطلاعات سطح اشیاء با استفاده از متغیرهای نمونه (Instance Variables)
- ایجاد اشیاء منفرد و درک مفهوم نمونهسازی (Instantiation)
- نحوه کدنویسی رفتار اشیاء با استفاده از متدها (Methods)
- ایجاد و استفاده از ویژگیها (Properties) برای کنترل دسترسی به متغیرهای نمونه
- کاربرد متدها، ویژگیها و فیلدها در برنامههای گرافیکی
- درک ترتیب اجرای برنامه و استفاده از دیباگر (Debugger) در Visual Studio
- استفاده از متغیرها و ویژگیهای استاتیک (Static) برای اطلاعات سطح کلاس
- درک متغیرهای ارجاعی (Reference Variables) و نحوه عملکرد آنها
- ایجاد کلاس و متمرکز کردن اطلاعات برای کاهش کدنویسی
- دلایل ایجاد کلاسهای فرزند (Child Classes)
- بازنویسی متدها (Override) و درک ضرورت و نحوه عملکرد آن با متدهای مجازی (Virtual Methods)
- مثالهایی از وراثت (Inheritance) و چندریختی (Polymorphism) و تاثیر آنها در کاهش کد
- مثالهایی از چندریختی در پارامترهای متد و تاثیر آن در کاهش کد
- نحوه استفاده از رابطها (Interfaces) برای گروهبندی اشیاء بر اساس رفتار
- کاربرد چندریختی رابطها در لیستها برای کاهش کدنویسی
- کاربرد چندریختی رابطها در پارامترهای متد برای کاهش کدنویسی
- تفاوت کلاسهای انتزاعی (Abstract Classes) و رابطها و کاربرد هر کدام
- ساختار چارچوب .NET با استفاده از کلاسها و رابطها
- دلایل ایجاد متدهای خاص برای کلاسهای منفرد
- چگونگی اطمینان از فراخوانی صحیح متدهای کلاس مشتق شده با استفاده از چندریختی
- دلایل کدنویسی متدهای مجازی
- اهمیت private بودن متغیرهای نمونه و خطرات عدم رعایت آن
- نحوه استفاده از انتزاع (Abstraction) برای مدلسازی سادهتر جهان
پیشنیازها:
- استفاده از Visual Studio 2017 (نسخههای قدیمیتر پشتیبانی نمیشوند)
- گذراندن دوره مبانی C# (مانند "Basic C# Clearly Explained")
- آشنایی با حلقههای for (در صورت نیاز، دوره "C# Loops for Beginners" را جستجو کنید)
- توانایی ایجاد یک برنامه کنسول ساده در Visual Studio
- آشنایی با انواع دادههای پایه مانند int، string و bool
- توانایی ایجاد متد (Method)
- این دوره اولین دوره C# شما نیست.
- آگاهی از استفاده از تصاویر برای توضیح مفاهیم در درسهای ابتدایی.
- بخش پایانی دوره بسیار پیشرفتهتر است و برای علاقهمندان جدیتر طراحی شده است.
نکات مهم دوره:
توجه بسیار مهم:
- لطفاً قبل از خرید، سرفصلهای دوره را با دقت بررسی کنید تا از مناسب بودن آن برای خودتان مطمئن شوید.
- ویدیوهای پیشنمایش رایگان را مشاهده کنید تا با سبک تدریس مدرس آشنا شوید.
- در صورت وجود مشکل یا نیاز به اصلاح، لطفاً اطلاع دهید.
مروری بر دوره:
- این دوره برای کسانی است که مایل به چالش کشیدن خود هستند و یک مقدمه سادهانگارانه از OOP ارائه نمیدهد.
- در برخی بخشها، کدها به چارچوب .NET متصل میشوند که یک پایگاه کد حرفهای نوشته شده با C# است.
- قول داده میشود که جزئیاتی را بیاموزید که در هیچ دوره دیگری تدریس نمیشود.
- پیشرفت در مباحث فنی نیازمند تلاش مداوم و با تمام وجود است.
- در ویدیوهای ابتدایی از تصاویر برای توضیح مفاهیم استفاده شده است.
- ویدیوهای پیشرفتهتر بیشتر بر کد و چارچوب .NET تمرکز دارند و نحوه استفاده از OOP در محیط حرفهای را نشان میدهند.
- سوالاتی در طول ویدیوها مطرح شده و راهحلها از دیدگاه مدرس ارائه میشوند.
- فایلهای PDF جداگانه شامل مثالهای کاملاً متفاوت در بخش منابع درس قرار داده شدهاند.
- مفاهیم از چندین دیدگاه مورد بحث قرار میگیرند تا درک عمیقتری حاصل شود.
- در برخی ویدیوها، توضیحات خط به خط با استفاده از کامنتها ارائه شده است.
- تمرکز توضیحات بر "چگونگی" و "چرایی" انجام کار است.
- این دوره اولین دوره C# شما نباید باشد.
- بخشهای پایانی نشان میدهند که C# چگونه در برنامههای Windows Forms استفاده میشود.
چه کسانی نباید در این دوره شرکت کنند:
- افرادی که فقط به دنبال "چگونگی" هستند و "چرایی" برایشان مهم نیست.
- افرادی که به دنبال توضیحات سریع و سطحی هستند.
- افرادی که فقط به کد علاقهمندند و توضیحات بصری را نمیپسندند.
- افرادی که صحبت کردن سریع را ترجیح میدهند.
- افرادی که به دنبال توضیحات چندگانه از زوایای مختلف نیستند.
سرفصل ها و درس ها
نرمافزار مورد نیاز را دریافت کنید
Get the needed software
نرم افزار مورد نیاز را دریافت کنید
Get the needed software
-
بررسی اجمالی دوره و دریافت انجمن ویژوال استودیو 2017
Course Overview and Getting Visual Studio Community 2017
-
مرور دوره و دریافت Visual Studio Community 2017
Course Overview and Getting Visual Studio Community 2017
نگاهی به مفاهیم کلی کلاس
Looking at general class concepts
-
ذخیره اطلاعات در مورد اشیاء فردی با متغیرهای نمونه
Storing information about individual objects with instance variables
-
راه حل سوال در مورد متغیرهای نمونه
Solution to question on instance variables
-
نمونه سازی اشیا و مشاهده مقادیر متغیرهای نمونه
Instantiating objects and observing instance variable values
-
راه حل ایجاد نمونه ها و مشاهده مقادیر متغیرهای نمونه
Solution to creating instances and observing instance variable values
-
راه حل سوال در مورد روش های خالی
Solution to question on void methods
-
ایجاد یک کلاس با متدهایی که مقادیر را برمی گرداند
Creating a class with methods that return values
-
استفاده از خواص برای کنترل دسترسی به فیلدها
Using properties to control access to fields
-
درک نحوه استفاده از روش ها، ویژگی ها، نمونه ها در زندگی واقعی
Understanding how methods, properties, instances are used in real life
-
درک ترتیب اجرای برنامه
Understanding the order in which a program executes
-
نمایش اطلاعات سطح کلاس با فیلدها و خصوصیات ثابت
Representing class level information with static fields and properties
-
درک مفهوم متغیر مرجع
Understanding the concept of a reference variable
-
نمونه راه حل سوال در مورد متغیرهای مرجع
Sample solution to question on reference variables
نگاهی به مفاهیم کلاس عمومی
Looking at general class concepts
-
تشخیص دستهها و اعلان کلاسها
Recognizing categories of objects and declaring classes
-
تشخیص دسته بندی اشیا و اعلان کلاس ها
Recognizing categories of objects and declaring classes
-
استفاده مجدد از کد به عنوان مزیت برنامه نویسی شی گرا
Reusing code as a benefit of objected oriented programming
-
استفاده مجدد از کد به عنوان مزیت برنامه نویسی شی گرا
Reusing code as a benefit of objected oriented programming
-
ذخیره اطلاعات در مورد اشیاء منفرد با متغیرهای نمونه (instance variables)
Storing information about individual objects with instance variables
-
حل سوال مربوط به متغیرهای نمونه
Solution to question on instance variables
-
ایجاد اشیاء و مشاهده مقادیر متغیرهای نمونه
Instantiating objects and observing instance variable values
-
حل مربوط به ایجاد نمونهها و مشاهده مقادیر متغیرهای نمونه
Solution to creating instances and observing instance variable values
-
نمایش یک رفتار/اقدام با یک متد void
Representing a behavior/action with a void method
-
نمایش یک رفتار/عمل با روش خالی
Representing a behavior/action with a void method
-
حل سوال مربوط به متدهای void
Solution to question on void methods
-
ایجاد یک کلاس با متدهایی که مقادیر را برمیگردانند
Creating a class with methods that return values
-
حل سوال مربوط به متدهایی با مقادیر بازگشتی
Solution to question on method with return values
-
راه حل سوال در مورد روش با مقادیر بازگشتی
Solution to question on method with return values
-
استفاده از پراپرتیها (properties) برای کنترل دسترسی به فیلدها (fields)
Using properties to control access to fields
-
حل سوال مربوط به پراپرتیها
Solution to question on properties
-
راه حل سوال در مورد خواص
Solution to question on properties
-
درک نحوه استفاده از متدها، پراپرتیها و نمونهها در زندگی واقعی
Understanding how methods, properties, instances are used in real life
-
درک ترتیبی که یک برنامه در آن اجرا میشود
Understanding the order in which a program executes
-
نمایش اطلاعات سطح کلاس با فیلدها و پراپرتیهای استاتیک (static)
Representing class level information with static fields and properties
-
درک مفهوم متغیر ارجاع (reference variable)
Understanding the concept of a reference variable
-
حل نمونه سوال مربوط به متغیرهای ارجاع
Sample solution to question on reference variables
-
سوالات فصل 1 را مرور کنید
Review questions on chapter 1
-
سوالات مرور فصل ۱
Review questions on chapter 1
ایجاد سلسله مراتب کلاس
Establishing class hierarchies
-
ایجاد انگیزه از مزایای تمرکز
Motivating the benefits of centralization
-
راه حل ممکن برای سوال در مورد روش های مجازی از کلاس Monster
Possible solution to question on virtual methods from Monster class
-
استخراج کلاس Orc از Monster و تایید وراثت واقعی است
Deriving the Orc class from Monster and confirming inheritance is real
-
تست اتصال بین کلاس های Monster و Orc
Test on connection between Monster and Orc classes
-
استخراج EvilDragon از Monster
Deriving EvilDragon from Monster
-
با استفاده از کلاسها، در چارچوب Net
Deep dive through the .Net Framework using classes
-
استفاده از پلی مورفیسم ارثی با لیستی از اشیاء هیولا
Using inheritance polymorphism with lists of monster objects
-
راه حل سوال در مورد رابط ها و چندشکلی رابط
Solution to question on interfaces and interface polymorphism
-
استفاده از پلی مورفیسم رابط در فراخوانی متدها
Using interface polymorphism in method calls
-
با استفاده از رابطها، در چارچوب Net
Deep dive through the .Net Framework using interfaces
ایجاد سلسله مراتب طبقاتی
Establishing class hierarchies
-
انگیزه بخشیدن به مزایای تمرکز زدایی
Motivating the benefits of centralization
-
متمرکز کردن یک ویژگی و رفتار مشترک در کلاس Monster
Centralizing a common characteristic and behavior in the Monster class
-
متمرکز کردن یک ویژگی و رفتار مشترک در کلاس Monster
Centralizing a common characteristic and behavior in the Monster class
-
حل ممکن سوال مربوط به متدهای مجازی (virtual methods) از کلاس Monster
Possible solution to question on virtual methods from Monster class
-
مشتق کردن کلاس Orc از Monster و تایید ارث بری واقعی
Deriving the Orc class from Monster and confirming inheritance is real
-
بازنویسی متد Speak در کلاس Orc
Overriding the Speak method in the Orc class
-
نادیده گرفتن متد Speak در کلاس Orc
Overriding the Speak method in the Orc class
-
تست اتصال بین کلاسهای Monster و Orc
Test on connection between Monster and Orc classes
-
مشتق کردن EvilDragon از Monster
Deriving EvilDragon from Monster
-
اضافه کردن متدهای خاص ارکها و اژدهایان شیطانی
Adding methods specific to orcs and evil dragons
-
اضافه کردن روش های خاص برای اورک ها و اژدهای شیطانی
Adding methods specific to orcs and evil dragons
-
حل ممکن سوال مربوط به اضافه کردن BreatheFire به کلاس EvilDragon
Possible solution to question on add BreatheFire to EvilDragon class
-
راه حل ممکن برای سوال اضافه کردن BreatheFire به کلاس EvilDragon
Possible solution to question on add BreatheFire to EvilDragon class
-
کاوش عمیق در .Net Framework با استفاده از کلاسها
Deep dive through the .Net Framework using classes
-
استفاده از وراثت چندریختی (polymorphism) با لیستهایی از اشیاء هیولا
Using inheritance polymorphism with lists of monster objects
-
ایجاد کلاس MonsterKeeper
Creating the MonsterKeeper class
-
ایجاد کلاس MonsterKeeper
Creating the MonsterKeeper class
-
تست چندریختی
Test on polymorphism
-
تست پلی مورفیسم
Test on polymorphism
-
گروهبندی اشیاء کاملاً متفاوت بر اساس رفتار با رابطها (interfaces)
Grouping radically different objects by behaviors with interfaces
-
گروه بندی اشیاء کاملاً متفاوت بر اساس رفتار با رابط ها
Grouping radically different objects by behaviors with interfaces
-
حل سوال مربوط به رابطها و چندریختی رابط
Solution to question on interfaces and interface polymorphism
-
استفاده از چندریختی رابط در فراخوانی متدها
Using interface polymorphism in method calls
-
کاوش عمیق در .Net Framework با استفاده از رابطها
Deep dive through the .Net Framework using interfaces
-
تست روی رابط ها
Test on interfaces
-
تست رابطها
Test on interfaces
نمونههای پیشرفتهتر و پیچیدهتر
More Advanced and Complex Examples
-
حفاری از طریق سلسله مراتب طبقاتی
Drilling through Class Hierarchies
-
استفاده از یک شی FileStream
Using a FileStream Object
-
درک رشته ها در حافظه
Understanding Strings in Memory
-
با استفاده از Class Designer، 2
Using the Class Designer, 2
-
نگاه کردن از طریق Object Explorer
Looking through the Object Explorer
-
کاوش در خواص در کد منبع دات نت فریم ورک، قسمت 1
Digging into Properties in the .NET Framework Source Code, Part 1
-
روشهای لغو در کد منبع دات نت فریم ورک
Overriding Methods in the .NET Framework Source Code
-
با استفاده از کلمه کلیدی "استفاده" و IDispoable
Using the "Using" Keyword and IDispoable
نمونه های پیشرفته و پیچیده تر
More Advanced and Complex Examples
-
ضمیمه کردن Event Handlers به Events
Attaching Event Handlers to Events
-
پیوست کردن رویدادها به رویدادها
Attaching Event Handlers to Events
-
درک بیشتر پیامدهای Access Modifier ها
Understanding Access Modifier Consequences More
-
درک بیشتر پیامدهای اصلاح کننده دسترسی
Understanding Access Modifier Consequences More
-
کاوش در سلسله مراتب کلاسها
Drilling through Class Hierarchies
-
کار با اپراتورهای بارگذاری شده (Overloaded Operators)
Working with Overloaded Operators
-
کار با اپراتورهای اضافه بار
Working with Overloaded Operators
-
استفاده از شی FileStream
Using a FileStream Object
-
درک رشتهها در حافظه
Understanding Strings in Memory
-
استفاده از Class Designer، قسمت ۱
Using the Class Designer, 1
-
با استفاده از Class Designer، 1
Using the Class Designer, 1
-
استفاده از Class Designer، قسمت ۲
Using the Class Designer, 2
-
نگاهی به Object Explorer
Looking through the Object Explorer
-
کاوش در پراپرتیها در کد منبع .NET Framework، بخش ۱
Digging into Properties in the .NET Framework Source Code, Part 1
-
کاوش در خواص، قسمت 2
Digging into Properties, Part 2
-
کاوش در پراپرتیها، بخش ۲
Digging into Properties, Part 2
-
بازنویسی متدها در کد منبع .NET Framework
Overriding Methods in the .NET Framework Source Code
-
استفاده از کلمه کلیدی "Using" و IDisposable
Using the "Using" Keyword and IDispoable
-
چندریختی در زندگی واقعی، بخش ۱
Real Life Polymorphism, Part 1
-
چند شکلی زندگی واقعی، قسمت 1
Real Life Polymorphism, Part 1
-
چند شکلی زندگی واقعی، قسمت 2
Real Life Polymorphism, Part 2
-
چندریختی در زندگی واقعی، بخش ۲
Real Life Polymorphism, Part 2
قدمهای بعدی
Next steps
مراحل بعدی
Next steps
نمایش نظرات