شی گرایی در جاوا

شی گرایی در جاوا
مقالات

شی گرایی در جاوا

شی گرایی در جاوا  یک شیوه برنامه نویسی است که ساختار اصلی اجزای آن، شی می باشد. استفاده از این شیوه برنامه نویسی باعث سازماندهی کدها می شود.دلیل مطرح شدن شی گرایی در حوزه برنامه نویسی چیست؟ نحوه عملکرد مغز و شیوه دریافت اطلاعات از محیط پیرامون و پردازش آن اطلاعات، شیوه شی گراست. به همین دلیل می بایست زبانی تعریف شود که همین شیوه را مبنای کار خود قرار داده و باز تولید کند.

مفاهیم شی گرایی در جاوا

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

کلاس(Class)

شی(Object)

صفت(Attribute)

رفتار(Behavior)

ارث بری(Inheritance)

چندریختی(Polymorphism)

کپسوله سازی(Encapsulation)

انتزاع یا تجرید (Abstraction)

آبجکت یا شی (Object)

هر موجودیتی که دارای اطلاعات، وضعیت و رفتار خاصی باشد یک آبجکت یا شی شناخته می شود. برای مثال می توان از صندلی، خودکار، میز، صفحه کلید، دوچرخه و غیره … نام برد. یک آبجکت می تواند موجودیتی فیزیکی یا منطقی باشد.

48c3d07c ad19 4f2a 8b1d b2a6ef6720d6java
کلاس

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

 

وراثت یا Inheritance

زمانی که یک آبجکت تمامی property ها (ویژگی ها) و قابلیت یا رفتارهای (متدها) آبجکت پدر (parent) را کسب می کند (به ارث می برد)، در OOP به آن وراثت گفته می شود. این امکان به توسعه دهنده اجازه ی استفاده ی مجدد از کد مورد نظر در بخش های مختلف پروژه را می دهد. به واسطه وراثت می توان چندریختی یا polymorphism را در زمان اجرای برنامه پیاده سازی کرد.

 

چندریختی (Polymorphism)

زمانی که یک کار یا وظیفه ی معین به اشکال و روش های مختلف قابل اجرا می باشد، در دنیای برنامه نویسی به آن چندریختی یا polymorphism گفته می شود.شی گرایی در جاوا برای مثال، می توان به روش های مختلف متقاعد کردن مشتری یا فعل ترسیم که برای کشیدن اشکال مختلف بکار گرفته می شود اشاره کرد. به واسطه ی مفهوم چندریختی می توان متدها یا توابعی را نوشت که با وجود نامی یکسان دارای کاربرد متفاوت باشند.

 

در زبان Java با استفاده از (فراخوانی متدی با نام یکسان ولی پارامترهای مختلف) overloading و (بازنویسی بدنه ی متد کلاس پدر در کلاس فرزند که دارای پارامترها و signature یکسان هستند) overriding مفهوم چندریختی را پیاده سازی می کنیم.

مثال دیگری که می توان به آن اشاره کرد قابلیت صحبت کردن می باشد. برای مثال گربه صدای meow، سگ صدای پارس و اردک صدای quack را تولید می کنند.

 

انتراع یا تجرید (Abstraction)

در OOP به پنهان سازی جزئیات و نمایش یا ارائه ی قابلیت ها در اصطلاح abstraction یا انتزاع گفته می شود. به عنوان مثال می توان به تماس تلفنی اشاره کرد که در آن ما از جزئیات، فرایند و پردازش داخلی آگاهی نداریم و صرفا از قابلیت نام برده به صورت آماده استفاده می کنیم.

در زبان Java برای پیاده سازی این مفهوم از کلاس های abstract (کلاسی برای نگهداری فیلدها و متدهای مشترک بین تمامی کلاس های زیرمجموعه و مشتق شده) و interface ها (الگوهایی برای پیاده سازی متدها) استفاده می کنیم.

 

کپسوله سازی (Encapsulation)

قرار دادن قابلیت ها یا رفتارها (همان توابع ) و داده ها (اطلاعات مانند property های و فیلدها) با هم در یک قالب واحد تحت عنوان کپسوله سازی شناخته می شود. این مفهوم دقیقا مانند یک کپسول خوردنی است که انواع دارو را در خود جای می دهد.

یک کلاس جاوا دقیقا نمونه ای از مفهوم کپسوله سازی است که به صورت عملی پیاده سازی شده. Java bean یک کلاس است که به معنای واقعی کاملا کپسوله سازی شده است چرا که تمامی عضوهای داده ای آن دارای سطح دسترسی private بوده و خارج از کلاس قابل بازیابی نیستند.

ساختار کد نویسی در جاوا

حساسیت به حروف کوچک و بزرگ (Case Sesentive) مثال : hello  و Hello با هم تفاوت دارند.

نام کلاس ها باید با حرف اول بزرگ شروع شوند. مثال:MainClass

نام متدها باید با حرف اول کوچک شروع شوند . مثال :()doThat

نام فایلی که ذخیره می کنیم حتما باید هم نام کلاس باشد.

قواعد نام گذاری Identifiers در شی گرایی در جاوا

حتما باید با یکی از حروف الفبای انگلیسی (A to Z) یا علامت $ یا _ شروع شوند.

بعد از اوین حرف، هر ترکیبی از کاراکترها را می توان استفاده کرد.

بعدKeyword نمی تواند به عنوان Identifier استفاده شود.

Identifier به حروف کوچک و بزرگ حساس هستند .

دیدگاه خود را اینجا قرار دهید

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

اعضا

‫بروز رسانی

سمیرا مردانی's بروزسانی مشخصات انجام شد ماه 8 قبل

محمد جواد محمدی's بروزسانی مشخصات انجام شد ماه 8 قبل

مریم نوری's بروزسانی مشخصات انجام شد ماه 8 قبل

محمد امین طاهری's بروزسانی مشخصات انجام شد ماه 8 قبل

نگار حجتی's بروزسانی مشخصات انجام شد ماه 8 قبل

فیلدهای نمایش داده شده را انتخاب کنید. دیگران مخفی خواهند شد. برای تنظیم مجدد سفارش ، بکشید و رها کنید.
  • عکس
  • شناسه محصول
  • امتیاز
  • قیمت
  • در انبار
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • عرض
  • اندازه
  • تنظیمات بیشتر
  • ویژگی ها
  • ویژگی های سفارشی
  • زمینه های دلخواه
برای پنهان کردن نوار مقایسه ، بیرون را کلیک کنید
مقایسه
لیست علاقه مندی ها 0