مفاهیم شی ء گرایی در جاوا
با سلام و تبریک سال نو
در این مبحث قصد دارم مباحث مرتبط با شی ء گرایی در زبان جاوا را مورد برسی قرار داده به انواع آن بپردازم.گرچه دنیای برنامه نویسی در سالهای اخیر با رشد تمایل به برنامه نویسی فانشنال مواجه بوده؛به گونه ای که حتی جاوا 8 نیز از این قافله عقب نمانده و با افزودن مفاهیمی چون لامبدا-استریم ها و... در صدد جذب علاقه مندان به برنامه نویسی تابعی به خود است.اما با این حال هنوز هم بسیاری از برنامه نویسان مزیت های بیشماری را برای برنامه نویسی شی ء گرا عنوان میکنند.در ادامه به برسی انواع روشهای شی ء گرایی در زبان برنامه نویسی جاوا خواهیم پرداخت.
در ادامه مباحث مرتبط با شی گرایی در جاوا موارد ذیل مورد برسی قرار خواهد گرفت:
1-Inheritance
2-Overriding
3-Polymorphism
4-Encapsulation
5-Interfaces
6-Packages
در ادامه مفاهیم "ارث بری" را مورد برسی قرار خواهم داد.
Inheritance-ارث بری
ارث بری از جمله مفاهیم بنیادین در برنامه نویسی شی گرا می باشد.به واسطه شی گرایی یک کلاس می تواند از متدها،پراپرتی هات و امکانات مرتبط با سایر کلاسها بهرمند شود.کلاسی که از کلاس دیگر ارث می برد را به اسطلاح Sub Class و کلاسی که از آن ارث بری می شود را Supe Class می نامند.
به نمونه مثلا زیر توجه کنید :
class A{ public void sayHello(){ System.out.println("Hello Daddy!"); } } class B extends A{ public void sayHelloAgain(){ B b = new B(); //output is "Hello Daddy!" b.sayHello(); //output is "Hello Daddy Again!" System.out.println("Hello Daddy Again!"); } }
همانطور که مشاهده میکنید ارث بری به واسطه کلمه کلیدی extends از کلاس A که سوپرکلاس ما می باشد به B که ساب کلاس محسوب می شود انجام گرفته.باایجاد یک شی از کلاس B دسترسی ما به سوپرکلاس A و متد ()sayHello نیز امکانپذیر خواهد بود.