دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۹
  • مهر

جلسه ۰۳ : آبجکت و کلاس در جاوا

  • دسته‌بندی‌ها :
جلسه ۰۳ : آبجکت و کلاس در جاوا
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرنو کاربرانی که دوره کامل آموزش برنامه نویسی جاوا را دنبال می کنند. جاوا به عنوان یک زبان سطح بالا و جامع از قابلیت Object-Oriented (شی گرایی) پشتیبانی می کند. و در واقع خود یک زبان شی گرا محسوب می شود. قابلیت شی گرایی به شما امکان ایجاد کلاس و آبجکت ها را می دهد، هر کلاس خود از مجموعه ای متغیر و متد تشکیل شده که یک موجودیت را با یک رفتار خاص ایجاد می کند.این قابلیت در تمرکز کدهای برنامه و کنترل حجم کدها بسیار موثر عمل می کند. برای آشنایی بیشتر با مباحث آبجکت و کلاس در جاوا ادامه ی آموزش فوق را دنبال کنید.

      آبجکت و کلاس در جاوا

      در ابتدای آموزش شما را با مفاهیم پایه ی آبجکت و کلاس در جاوا آشنا می کنیم.

      جاوا به عنوان یک زبان شیءگرا، از مفاهیم اساسی زیر را پشتیبانی می کند:

      • Polymorphism (چند ریختی)
      • Inheritance (وراثت)
      • Encapsulation (کپسوله سازی)
      • Abstraction (انتزاع)
      • Classes (کلاس)
      • Objects (اشیا)
      • Instance (نمونه)
      • Method (متد)
      • Message Parsing (تجزیه پیام)

      در این بخش شما را با دو مفهوم Classe (کلاس) و Object (اشیاء) آشنا خواهیم کرد.

      • Object : یک شی نمونه ای از کلاس شامل حالت ها و رفتارهای مشخص است.
      • Class : یک کلاس به عنوان یک قالب یا طرح تعریف شده و رفتار مشخصی دارد.

      آبجکت در جاوا

      اگر ما دنیای واقعی را در نظر بگیریم، می توانیم بسیاری از اشیاء را در اطراف ما، اتومبیل ها،انسان ها و غیره پیدا کنیم.

      تمام آبجکت ها در دنیای واقعی دارای ویژگی ها و رفتارهای خاصی می باشند.

      به عنوان مثال اگر یک سگ را در نظر بگیریم :

      مشخصات آن می تواند نام ، نژاد ، رنگ ، وزن و… باشد.

      رفتارهای آن می تواند دویدن ، پارس کردن ، حرکات دم و… باشد.

      حالا اگر شما شیء نرم افزار را با یک شیء دنیای واقعی مقایسه کنید، آنها ویژگی های بسیار مشابه دارند.

      اشیاء نرم افزاری نیز مشخصات و حالت هایی دارند، مشخصات در خود شی تعریف شده و رفتارها نیز با متدها مشخص می شود.

      بنابراین در توسعه نرم افزار متدها بر وضعیت یک شی تاثیر گذاشته و ارتباط اشیاء نیز از طریق متدها صورت می پذیرد.

      کلاس در جاوا

      کلاس یک طرح کلی است که آبجکت هایی از آن طرح ایجاد می شود.

      در زیر به یک مثال ساده از یک کلاس اشاره شده است:

      مثال : 

      یک کلاس می تواند هر نوع از متغیرهای زیر را داشته باشد:

      • متغیرهای محلی : این متغیرها در داخل متد ، ساختار یا بلوک تعریف می شوند.و فقط در همان محدوده معتبر است.
      • متغیرهای نمونه : این متغیرهای داخل یک متد تعریف شده اما در سایر متدهای کلاس نیز معتبر است.
      • متغیرهای کلاس : این متغیرها داخل ی کلاس و خارج از متدهای آن با کلمه ی کلیدی static تعریف می شوند.

      یک کلاس می تواند شامل متدهای متعددی برای دسترسی به مقادیر و ایجاد یک رفتار خاص باشد.

      در کد مثال بالا ()barking(), hungry() and sleeping متدهای کلاس Dog محسوب می شوند.

      ساختار

      یکی از مباحث مهم یک کلاس ساختار آن کلاس است. هر کلاس یک ساختار کلی دارد.

      هر بار که یک شیء جدید از یک کلاس ایجاد کنید از ساختار آن کلاس در آن شیء استفاده می شود.

      نکته ی مهم در ساختارها این است که باید همنام کلاس خود باشند.

      یک کلاس می تواند ساختارهای متعددی داشته باشد.

      مثال:

      مثال : 

      جاوا همچنین از ویژگی Class Singleton پشتیبانی می کند که به شما اجازه تعریف فقط یک کلاس را می دهد.

      توجه – ما دو نوع ساختار داریم. ما در بخش های بعدی جزئیات ساختارها را مورد بحث قرار خواهیم داد.

      ایجاد یک آبجکت یا شی ء

      همانطور که قبلا ذکر شد، یک کلاس طرح هایی را برای اشیا فراهم می کند.

      بنابراین اساسا یک شیء از یک کلاس ایجاد می شود.

      در جاوا، از کلمه کلیدی new برای ایجاد اشیاء جدید استفاده می شود.

      برای ایجاد یک شیء از روی یک کلاس سه مرحله وجود دارد:

      ۱- اعلام متغیر با یک نام متغیر و نوع شی.

      ۲- کلمه کلیدی new برای ایجاد شی مورد استفاده قرار می گیرد.

      ۳- کلمه کلیدی “new ” با برقراری ارتباط با یک ساختار ایجاد شیء جدید را آغاز می کند.

      مثال:

      مثال : 

      اگر ما برنامه فوق را کامپایل و اجرا کنیم، نتیجه ی زیر تولید خواهد شد:

      خروجی:

      مثال : 

      دسترسی به متغیرها و متدهای نمونه

      متغیرها و متدهای نمونه از طریق اشیاء ایجاد شده قابل دسترس هستند.

      مثال زیر چگونگی دسترسی به متغیر و متدها در یک شیء را نشان می دهد:

      مثال : 

      مثال:

      این مثال نحوه دسترسی به متغیرها و متدهای یک کلاس را توضیح می دهد.

      مثال : 

      اگر ما برنامه فوق را کامپایل و اجرا کنیم، نتیجه ی زیر تولید خواهد شد:

      خروجی:

      مثال : 

      قوانین ایجاد فایل جاوا

      اکنون به قوانین اعلام فایل منبع نگاهی می اندازیم. این قوانین هنگام اعلام کلاس ها، اظهارات واردات و اظهارات بسته در یک فایل منبع ضروری هستند.

      • فقط می توان یک کلاس عمومی در هر فایل منبع داشت.
      • یک فایل منبع می تواند چندین کلاس غیر عمومی را داشته باشد.
      • نام یک کلاس عمومی باید با نام فایل منبع یکی باشد،به عنوان مثال برای نام کلاس Employee Public نام فایل جاوا باید بصورت Employee.java باشد.
      • اگر کلاس در داخل یک بسته تعریف شده باشد،دستور package باید اولین عبارت در فایل منبع باشد.
      • کدهای جاوا در کلاس باید بعد از تعریف شناسه ها داخل {} قرار بگیرند.

      کلاس ها دارای سطوح مختلف دسترسی هستند،همچنین انواع مختلفی از کلاس ها از جمله کلاس های انتزاعی، کلاس های نهایی و … وجود دارد.

      همچنین جاوا شامل کلاس های ویژه ای است که دسته های Inner و Class Anonymous نامیده می شود.

      بسته ی جاوا

      به عبارت ساده، این یک روش طبقه بندی کلاس ها و اینترفیس ها است.

      در برنامه های کاربردی در حال توسعه در جاوا، صدها کلاس و رابط نوشته خواهد شد.

      بنابراین طبقه بندی کلاس ها برای دسترسی ساده و سریع تر ، حائز اهمیت است.

      کدهای ورودی

      کدهای ورودی یک روش مناسب برای ارتباط کامپایلر به آدرس کلاس مورد نظر است.

      به عنوان مثال، خط زیر از کامپایلر می خواهد تمام کلاس های موجود در دایرکتوری java_installation/java/io را بارگذاری کند:

      مثال : 

      ایجاد یک نمونه از مباحث فوق

      برای درک بهتر مباحث فوق ما یک برنامه ی نمونه که شامل مباحث فوق باشد را ایجاد می کنیم:

      ۱- ابتدا notepad را باز کرده و کدهای ادامه ی این مثال را در آن وارد کنید.

      ۲- به خاطر داشته باشید که این یک کلاس عمومی با نام Employee است پس نام فایل باید بصورت Employee.java باشد.

      کلاس Employee شامل چهار متغیر name, age, designation و salary بوده و یک ساختار نیز دارد که یک پارامتر ورودی می پذیرد.

      مثال:

      مثال : 

      همانطور که در ابتدای آموزش اشاره کردیم کدنویسی باید در متد اصلی فایل شروع شود.

      بنابراین برای ایجاد کلاس Employee ابتدا باید متد اصلی برنامه و اشیاء مربوطه ایجاد شود.

      در زیر کلاس EmployeeTest تعریف شده که دو نمونه از کلاس Employee را ایجاد می کند.

      کد زیر را در فایل EmployeeTest.java ذخیره کنید:

      مثال : 

      حالا، هر دو کلاس را کامپایل کنید و سپس EmployeeTest را اجرا کنید تا نتیجه را به صورت زیر مشاهده کنید:

      خروجی:

      مثال : 

      کلام آخر

      زبان جاوا مانند بسیاری از زبان های محبوب دیگر از ویژگی Object-Oriented (شی گرایی) پشتیبانی می کند، بنابراین جاوا یک زبان شیء گرا بوده که به ما اجازه ی تعریف کلاس ها و اشیاء با سطوح دسترسی مختلف را می دهد. از این رو برای آشنایی شما با این مباحث، آموزش این بخش را به آشنایی با  آبجکت و کلاس در جاوا اختصاص دادیم.

      در بخش بعدی شما را با انواع داده در جاوا آشنا خواهیم کرد.

      QR:  جلسه ۰۳ : آبجکت و کلاس در جاوا
      به اشتراک بگذارید