خب در اینجا توضیحاتی در مورد استفاده از شی و شی گرایی در جاوا میدهم.

 

طراحی شی گرا یا همان OOD -object-oriented design

ارث بری در اولین قسمت آن است که کلاس فرزند از پدر خویش بعضی از  ویژگی ها را به ارث خواهد برد.

برای مثال کلاس پدر را خودرو و کلاس فرزند را پیکان و پراید و پژو 

خب کلاس های فرزند ویژگی هایی دارن که آنها را از یکدیر متمایز میکند و منحصرا مال همان کلاس است ولی در کل ویژگی های مشترکی دارند که از کلاش پدر آنها است  مثلا داشتن 4 چرخ و یا صندوق عقب و....

 

 ویژگی بعدی که در شی گرایی بدست می آید خاصیت  پنهان سازی (information hiding) است. منظور این است که اگر از کلاسی شئی ساخته شد ، فقط کار مارا انجام دهد و نیازی نیست که ما از جزئیات داخلی کلاسی که از روی آن شئی ساخته شده ،مطلع باشیم

 

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

 

سرویس گیرندگان  یا کلاینت ها 

 

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

میتوان از روی هر کلاس چندین شی ساخت  همانند اینکه از روی یک نقشه میتوان چندین ساختمان ساخت.

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

در آشپزخانه یک نقشه نمیتوان اشپزی کنیم ولی در اشپز خانه موجود در خانه میتوان اشپزی کرد.

 

کلاس ها میتوانند با یکدیگر ارتباط داشته باشند که به این خاصیت میگویند اصطلاحا انجمن پذیری association

مثلا کلاس صندوق دار در یک بانک   میتواند در ارتباط با کلاس مشتری، حواله نقدی و در ارتباط باشد.

 

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