بخشی از پاورپوینت

--- پاورپوینت شامل تصاویر میباشد ----

اسلاید 1 :

استفاده ی مجدد از کلاس

—ما دیدیم که چگونه کلاسها و کد آنها در ترکیب استفاده شدند.

—در ترکیب، شی یک یا چند شی دیگر را به عنوان متغییر استفاده می کرد.

—

—ترکیب رابطه ی ”داشتن“ را مدل می کند.

—هر Person یک نام (String) دارد.

—ماشین موتور دارد.

—کتاب صفحه دارد.

اسلاید 2 :

ارتباط اشیاء

—شی می تواند نوع خاصی از یک شی دیگر باشد.

—ماشین یک وسیله ی نقلیه است.

—مثلث یک چند ضلعی است.

—دانشجو از نوع Person است.

این نوع ارتباط تحت نام ”نوعی از“ شناخته می شود.

—در OOP، این مدل ارتباطی توسط تکنیک برنامه نویسی وراثت مدل می شود.

—

—وراثت با اضافه کردن به کلاسهای جاری، کلاسهای جدیدی ایجاد می کند. یعنی کلاس جاری بدون دستکاری استفاده می شود.

اسلاید 3 :

وراثت

—وراثت از تکنیکهای اصلی OOP است.

—

—نحوه ی استفاده از وراثت:

—ابتدا یک کلاس عمومی (پایه) تعریف می شود.

—سپس نسخه های خصوصی تر کلاس را با اضافه کردن متدها و متغییرهای جدید تعریف می کنیم.

—می گوییم که نسخه ی خصوصی متدها و متغییرهای نسخه ی عمومی کلاس پایه را به ارث برده است.

اسلاید 4 :

کلاسهای مشتق شده

—معمولاً هنگام طراحی بعضی کلاسها وراثت بصورت طبیعی خود را نمایان می کند:

—در برنامه ی حقوق کارمندان یک اداره دو نوع کارمند داریم: ساعتی و حقوقی

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

—کارمندان با حقوق ماهانه ی مشخص نیز  به  دو دسته ی فنی و اداری تقسیم می شوند.

اسلاید 5 :

کلاسهای مشتق شده

—تمام کارمندان مشخصات مشترکی دارند:

—اسم و تاریخ استخدام

—متدهای دسترسی و تغییر نام و تاریخ استخدام

—

—بعضی کارمندان مشخصات خصوصی تری دارند:

—میزان پرداخت

—کارمند ساعتی: دستمزد هر ساعت کار

—کارمند پیمانی: میزان پایه ی حقوق

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

اسلاید 6 :

وراثت و OOP

—وراثت نوعی انتزاع است که به منظور:

—اشتراک مشابتهای بین کلاسها (مثل نام و تاریخ استخدام) و

—حفظ تفاوتها (مثل نحوه محاسبه ی میزان پرداختی) انجام می شود.

—

—وراثت به ما اجازه می دهد که کلاسها را بصورت خانواده هایی از نوع مرتبط دسته بندی کنیم و متدها و خصوصیات مشترک آنها را به اشتراک بگذاریم.

اسلاید 7 :

کلاسهای عمومی

—می توان برای تمام کارمندان یک کلاس عمومی به نام Employee تعریف کرد.

—سپس می توان کارمندان ساعتی و پیمانی را از روی این کلاس تعریف کرد.

—سپس می توان از کلاس HourlyEmployee برای تعریف کلاس PartTimeHourlyEmployee استفاده کرد و ....

اسلاید 8 :

کلاس  Employee

/**

 Class Invariant: All objects have a name string and hire date.

 A name string of "No name" indicates no real name specified yet.

 A hire date of Jan 1, 1000 indicates no real hire date specified yet.

*/

public class Employee

{

    private String name;

    private Date hireDate;

  // no-argument constructor

    public Employee( )

    {

         name = "No name";

         hireDate = new Date("Jan", 1, 1000); //Just a placeholder.

 

  // alternate constructor

    public Employee(String theName, Date theDate)  { /* code here */

  // copy constructor

    public Employee(Employee originalObject)  { /* code here */

  (continued)

اسلاید 9 :

  // some accessors and mutators

    public String getName( )  { /* code here */

    public Date getHireDate( )  { /* code here */

    public void setName(String newName)  { /* code here */

    public void setHireDate(Date newDate)  { /* code here */

  // everyone gets the same raise

  public double calcRaise( )

  { return 200.00;

  // toString and equals

    public String toString( )  { /* code here */

    public boolean equals(Employee otherEmployee)

  { /* code here */

 

  // end of Employee Class

اسلاید 10 :

کلاسهای مشتق شده

—چون کارمند ساعتی نوعی از کارمند است، می گوییم که از کلاس Employee مشتق شده است.

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

—کلاس مشتق شده از کلاس مبنا مشتق می شود.

—هنگام تعریف کلاس مشتق شده باید عبارت  extends BaseClass استفاده شود.

—

  public class HourlyEmployee extends Employee

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید