زبان جاوا یک زبان برنامه نویسی شیء گرا می باشد که مفاهیم زیر را پشتیبانی می کند :
- Polymorphism
- Inheritance
- Encapsulation
- Abstraction
- Classes
- Objects
- Instance
- Method
- Message Parsing
حال به مفهوم Object و Class می پردازیم :
Object : هر شیء ای حالت(State) و رفتاری(Behavior) دارد. به عنوان مثال, یک سگ حالت هایی از قبیل رنگ, نام, قد, سن و ... دارد و رفتارهایی از قبیل خوردن, دویدن, پارس کردن دارد. یک شیء (Object) , یک نمونه(Instance) از کلاس است.
ایجاد یک Object سه مرحله دارد :
- 1. Declaration (اعلان) : اعلان متغیر با یک نام و یک نوع.
- 2. Instantiation (نمونه سازی یا وهله سازی) : استفاده از کلمه کلیدی new برای ایجاد Object.
- 3. Initialization (مقدار دهی اولیه) : بعد از اینکه با کلمه کلیدی new شیء ایجاد شد, بلافاصله بطور اتوماتیک سازنده(Constructor) فراخوانی می شود. فراخوانی شدن سازنده باعث می شود که شیء مقدار دهی اولیه شود.
مثال :
بعد از کامپایل و اجرای قطعه کد بالا خروجی زیر را مشاهده می کنیم :
Class : کلاس می تواند تعریف شده باشد به عنوان یک قالب که توصیف می کند حالات(States) و رفتارهای(Behaviors) یک شیء از نوع خودش را.
در دنیای نرم افزار, یک شیء نرم افزار یک سری State و Behavior دارد. حالت یک شیء نرم افزار در داخل Instance Variable ها ذخیره شده اند و رفتار با متدها نشان داده می شود.
یک مثال برای کلاس :
کلاس ها انواع مختلف متغیر های زیر را شامل می شوند :
- Local variables
- Instance variables
- Class variables
سازنده :
متدی همنام با خود کلاس است که وظیفه مقدار دهی اولیه(Initialize) یک Object را برعهده دارد. هنگامی که یک شیء new می شود بطور اتوماتیک