آموزش رایگان صفر تا صد جاوا (Java) به زبان ساده
-
معرفی جاوا
-
ساخت اولین برنامه: Hello World
-
چاپ متن در جاوا
-
چاپ عدد در جاوا
-
نظرات (Comments) در جاوا
-
متغیرها جاوا
-
نمایش متغیرها (Display Variables) در جاوا
-
تعریف چند متغیر در جاوا (Java)
-
شناسایی متغیرها (Identifiers)
-
معرفی متغیرها با مثالهای واقعی
-
آشنایی با انواع دادهها (Data Types) در جاوا
-
آشنایی با اعداد (Numbers) در جاوا
-
آشنایی با نوع داده بولین (Boolean)
-
کار با کاراکترها و رشتهها در جاوا (Characters and Strings in Java)
-
مثال واقعی برای استفاده از انواع داده در جاوا
-
آشنایی با انواع دادههای غیرابتدایی (Non-Primitive Data Types)
-
آموزش مفهوم Type Casting در جاوا
-
آموزش عملگرها (Operators) در جاوا
-
آشنایی با رشتهها (Strings) در جاوا
-
آشنایی با الحاق رشتهها (String Concatenation)
-
اضافه کردن اعداد و رشتهها در جاوا
-
رشتهها و کاراکترهای خاص در جاوا
-
آشنایی با کلاس Math در جاوا
-
آشنایی با Boolean در جاوا
-
آشنایی با شرطها (Conditions) و دستورات شرطی (If Statements) در جاوا
-
آشنایی با دستور else در برنامهنویسی
-
آموزش عبارت else if در برنامهنویسی
-
آشنایی با عملگر شرطی کوتاه در جاوا (Ternary Operator)
-
آموزش شرطها (If..Else) در برنامهنویسی با مثالهای واقعی
-
آشنایی با Switch Statement در جاوا
-
آشنایی با حلقه While در جاوا
-
حلقه Do/While در جاوا
-
آشنایی با حلقه For در جاوا
-
حلقههای تودرتو (Nested Loops) در جاوا
-
حلقه For-Each در جاوا
-
آموزش دستورات Break و Continue در جاوا
-
آشنایی با آرایهها در جاوا (Java Arrays)
-
آموزش ساده استفاده از حلقهها برای پیمایش آرایهها در جاوا (Java Arrays Loop)
-
آرایههای چندبعدی در جاوا (Java Multi-Dimensional Arrays)
-
معرفی متدها در جاوا (Java Methods)
-
آموزش ساده: پارامترها و آرگومانها در متدهای جاوا (Java Method Parameters)
-
مفهوم بازگشت مقدار در جاوا (Java Return)
-
روش بارگذاری مجدد متدها در جاوا (Java Method Overloading)
-
آشنایی با محدوده متغیرها در جاوا (Java Scope)
-
بازگشت در جاوا (Java Recursion)
-
آشنایی با برنامهنویسی شیءگرا (Object-Oriented Programming یا OOP)
-
برنامهنویسی شیءگرا در جاوا (Java Classes/Objects)
-
آشنایی با ویژگیهای کلاس در جاوا (Java Class Attributes)
-
متدها در جاوا (Java Methods)
-
Constructor در جاوا
-
آشنایی با Modifiers در جاوا (Java Modifiers)
-
مفهوم کپسولهسازی (Encapsulation) در جاوا
-
راهنمای جامع پکیجها (Packages) و API در جاوا
-
وراثت (Inheritance) در جاوا – ساده و قابل فهم
-
پلیمورفیسم (Polymorphism) در جاوا به زبان ساده
-
کلاسهای داخلی (Inner Classes) در جاوا
-
کلاسها و متدهای انتزاعی (Abstract Classes and Methods) در جاوا
-
رابطها (Interfaces) در جاوا
-
آشنایی با Enum در جاوا
-
دریافت ورودی از کاربر در جاوا (Scanner)
-
تاریخ و زمان در جاوا (Java Date and Time)
-
آشنایی با ArrayList در جاوا
-
آشنایی با LinkedList در جاوا
-
مرتبسازی لیست در جاوا (Java List Sorting)
-
آشنایی با HashMap در جاوا
-
آشنایی با HashSet در جاوا
-
آشنایی با Iterator در جاوا
-
کلاسهای بستهبندی (Wrapper Classes) در جاوا
-
استفاده از try...catch برای مدیریت خطاها
-
آشنایی با عبارات منظم (Regular Expressions) در جاوا
-
آشنایی با Threads در جاوا 🚀
-
آشنایی با Lambda Expressions در جاوا
-
مرتبسازی پیشرفته در جاوا
-
آشنایی با کلمه کلیدی assert در جاوا
-
آشنایی با کلمه کلیدی abstract در جاوا
-
آشنایی با کلمه کلیدی boolean در جاوا
-
آشنایی با کلمه کلیدی break در جاوا
-
آشنایی با کلمه کلیدی byte در جاوا
-
آشنایی با کلمه کلیدی case در جاوا
-
آشنایی با کلمه کلیدی catch در جاوا
-
آشنایی با کلمه کلیدی char در جاوا
-
آشنایی با کلمه کلیدی class در جاوا
-
آشنایی با کلمه کلیدی continue در جاوا
-
آشنایی با کلمه کلیدی default در جاوا
-
آشنایی با کلمه کلیدی do در جاوا
-
آشنایی با کلمه کلیدی double در جاوا
-
آشنایی با کلمه کلیدی else در جاوا
-
آشنایی با کلمه کلیدی enum در جاوا
-
آشنایی با کلمه کلیدی exports در جاوا
-
آشنایی با کلمه کلیدی Inheritance در جاوا
-
آشنایی با کلمه کلیدی final در جاوا
-
آشنایی با کلمه کلیدی finally در جاوا
-
آشنایی با کلمه کلیدی float در جاوا
-
آشنایی با کلمه کلیدی for در جاوا
-
آشنایی با کلمه کلیدی if در جاوا
-
آشنایی با کلمه کلیدی implements در جاوا
-
آشنایی با کلمه کلیدی import در جاوا
-
آشنایی با کلمه کلیدی instanceof در جاوا
-
آشنایی با کلمه کلیدی int در جاوا
-
آشنایی با کلمه کلیدی Interface در جاوا
-
آشنایی با کلمه کلیدی long در جاوا
-
آشنایی با کلمه کلیدی module در جاوا
-
آشنایی با کلمه کلیدی native در جاوا
-
آشنایی با کلمه کلیدی new در جاوا
-
آشنایی با کلمه کلیدی package در جاوا
-
آشنایی با کلمه کلیدی private در جاوا
-
آشنایی با کلمه کلیدی protected در جاوا
-
آشنایی با کلمه کلیدی public در جاوا
-
آشنایی با کلمه کلیدی return در جاوا
-
آشنایی با کلمه کلیدی requires در جاوا
-
آشنایی با کلمه کلیدی short در جاوا
-
آشنایی با کلمه کلیدی static در جاوا
-
آشنایی با کلمه کلیدی super در جاوا
-
آشنایی با کلمه کلیدی switch در جاوا
-
آشنایی با کلمه کلیدی synchronized در جاوا
-
آشنایی با کلمه کلیدی this در جاوا
-
آشنایی با کلمه کلیدی throw در جاوا
-
آشنایی با کلمه کلیدی throws در جاوا
-
آشنایی با کلمه کلیدی transient در جاوا
-
آشنایی با کلمه کلیدی try...catch در جاوا
-
آشنایی با کلمه کلیدی var در جاوا
-
آشنایی با کلمه کلیدی void در جاوا
-
آشنایی با کلمه کلیدی volatile در جاوا
-
آشنایی با کلمه کلیدی while در جاوا
-
متد charAt() در جاوا
-
متد codePointAt() در جاوا
-
متد codePointBefore() در جاوا
-
متد codePointCount() در جاوا
-
متد compareTo() در جاوا
-
متد compareToIgnoreCase() در جاوا
-
متد concat() در جاوا
-
متد contains() در جاوا
-
متد contentEquals() در جاوا
-
متد copyValueOf() در جاوا
-
متد endsWith() در جاوا
-
متد equals() در جاوا
-
متد equalsIgnoreCase() در جاوا
-
متد format() در جاوا
-
متد getBytes() در جاوا
-
متد getChars() در جاوا
-
متد hashCode() در جاوا
-
متد indexOf() در جاوا
-
متد isEmpty() در جاوا
-
متد join() در جاوا
-
متد lastIndexOf() در جاوا
-
متد length() در جاوا
-
متد matches() در جاوا
-
متد offsetByCodePoints() در جاوا
-
متد regionMatches() در جاوا
-
متد replace() در جاوا
-
متد replaceAll() در جاوا
-
متد replaceFirst() در جاوا
-
متد split() در جاوا
-
متد startsWith() در جاوا
-
متد subSequence() در جاوا
-
متد substring() در جاوا
-
متد toCharArray() در جاوا
-
متد toLowerCase() در جاوا
-
متد toString() در جاوا
-
متد toUpperCase() در جاوا
-
متد trim() در جاوا
-
متد valueOf() در جاوا
-
متد abs() در جاوا
-
متد acos() در جاوا
آشنایی با برنامهنویسی شیءگرا (Object-Oriented Programming یا OOP)
۱. OOP چیست؟
برنامهنویسی شیءگرا یا OOP روشی در برنامهنویسی است که به جای تمرکز روی نوشتن توابع (Functions) و متغیرها (Variables) به صورت جداگانه، تمرکز را روی ساخت اشیاء (Objects) قرار میدهد.
تفاوت با برنامهنویسی رویهای (Procedural Programming):
- برنامهنویسی رویهای: روشهایی (Methods) را تعریف میکند که روی دادهها (Data) عملیات انجام میدهند.
- برنامهنویسی شیءگرا: اشیائی میسازد که شامل دادهها و روشهای مربوط به همان دادهها هستند.
مثال واقعی:
تصور کنید میخواهید یک نرمافزار برای مدیریت باغ بسازید:
- در روش رویهای: برای هر گیاه یک لیست درست میکنید و توابع جداگانهای برای آب دادن، کود دادن و برداشت محصول مینویسید.
- در روش شیءگرا: یک شیء به نام “گیاه” تعریف میکنید که اطلاعات (مثل نوع گیاه، مقدار آب لازم) و رفتارها (مثل آب دادن یا برداشت محصول) را در خود دارد.
۲. چرا OOP مهم است؟
برنامهنویسی شیءگرا(OOP) چند مزیت کلیدی دارد که آن را از روشهای دیگر متمایز میکند:
سرعت و آسانی اجرا:
برنامههایی که با OOP نوشته میشوند، معمولاً سریعتر اجرا شده و نوشتن آنها راحتتر است.ساختاردهی بهتر:
کدهای OOP دارای ساختاری منظمتر هستند که درک و مدیریت آنها را سادهتر میکند.اصل DRY (Don’t Repeat Yourself):
این اصل میگوید که از تکرار کدها پرهیز کنید. در OOP میتوان کدهای مشابه را در یک مکان (مثلاً یک کلاس) تعریف کرد و بارها از آن استفاده کرد.- مثال DRY: اگر قرار است چندین بار یک فرمول ریاضی را استفاده کنید، میتوانید آن را در یک متد (Method) بنویسید و به جای تکرار، هر بار آن متد را صدا بزنید.
قابلیت استفاده مجدد:
برنامههای OOP به گونهای طراحی میشوند که بتوانید قطعات کد را در پروژههای مختلف مجدداً استفاده کنید.
سوال:
به نظر شما چه نمونهای از اصل DRY در زندگی روزمره وجود دارد؟ (مثلاً استفاده از یک دستورالعمل عمومی برای چندین غذا)
۳. کلاسها (Classes) و اشیاء (Objects)
کلاس و شیء دو مفهوم اساسی در OOP هستند:
کلاس (Class):
کلاس یک قالب (Template) یا طرح کلی است که مشخص میکند اشیاء چه ویژگیها و رفتارهایی داشته باشند.- مثال کلاس:
کلاس “ماشین” مشخص میکند که هر ماشین باید چه اطلاعاتی (مثل مدل، رنگ) و چه رفتارهایی (مثل حرکت کردن، توقف کردن) داشته باشد.
- مثال کلاس:
شیء (Object):
شیء یک نمونه (Instance) از کلاس است. هر شیء ویژگیها و رفتارهای تعریفشده در کلاس را دارد.- مثال شیء:
اگر کلاس “ماشین” را در نظر بگیریم، شیءها میتوانند شامل ماشینهای خاص مثل “تویوتا”، “بنز” و “بیامو” باشند.
- مثال شیء:
۴. تفاوت کلاس و شیء
مثال:
کلاس | شیء |
---|---|
میوه (Fruit) | سیب (Apple)، موز (Banana)، انبه (Mango) |
ماشین (Car) | ولوو (Volvo)، آئودی (Audi)، تویوتا (Toyota) |
هر شیء از کلاس خودش ساخته میشود و تمام ویژگیها و رفتارهای کلاس را به ارث میبرد.
تمرین:
۱. یک کلاس “حیوان” (Animal) طراحی کنید که ویژگیهایی مثل “نوع صدا” و “تعداد پاها” داشته باشد.
۲. با استفاده از این کلاس، شیءهایی مثل “سگ” و “گربه” بسازید.