جاوا

جلسه ۴۷: رابطه Composition در جاوا

در این جلسه رابطه composition در جاوا را می آموزید. موارد زیر را بیان خواهیم کرد:

  • مثال
  • پیاده سازی

Composition رابطه ای است که به ایجاد اشیای سایر کلاس ها در کلاس شما می انجامد. در چنین سناریویی ، کلاسی که شی کلاس دیگر را ایجاد می کند به عنوان مالک این شی شناخته می شود و مسئولیت تعیین طول عمر آن شی را بر عهده دارد. روابط Composition همان رابطه Part-of است که در آن شی متعلق باید بخشی از شی مالک را تشکیل دهد. می توانیم با افزودن قسمتهای کوچکتر از کلاسهای دیگر ، به رابطه Composition برسیم و یک واحد پیچیده ایجاد کنیم. بنابراین ، چه چیزی composition را خاص می کند؟

در composition ، طول عمر شی متعلق به عمر مالک بستگی دارد.

مثال

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

پیاده سازی

بیایید برای درک بهتر به بررسی پیاده سازی کلاس اتومبیل نگاهی بیندازیم:

یک ماشین از Engine (یک موتور) ، Tires (چند چرخ) و Doors (چند درب) تشکیل شده است.

class Engine {
  
  private int capacity;
  
  public Engine(){
    capacity = 0;
  }
  
  public Engine(int cap) {
    capacity = cap;
  }
  
  public void engineDetails() {
    System.out.println("Engine details: " + capacity);
  }
  
}

class Tires {
  
  private int noOfTires;
  
  public Tires() {
    noOfTires = 0;
  }
  
  public Tires(int nt) {
    noOfTires = nt;
  }
  
  public void tireDetails() {
    System.out.println("Number of tyres: " +  noOfTires);
  }
  
}

class Doors {
  
  private int noOfDoors;
  
  public Doors() {
    noOfDoors = 0;
  }
  
  public Doors(int nod) {
    noOfDoors = nod;
  }
  
  public void doorDetails() {
    System.out.println("Number of Doors: " + noOfDoors);
  }
  
}

class Car {
  
  private Engine eObj;
  private Tires tObj;
  private Doors dObj;
  private String color;
  
  public Car(String col, int cap, int nt, int nod) {
    this.eObj = new Engine(cap);;
    this.tObj = new Tires(nt);;
    this.dObj = new Doors(nod);
    
    color = col;    
  }
  
  public void carDetail() {
    eObj.engineDetails();
    tObj.tireDetails();
    dObj.doorDetails();
    System.out.println("Car color: " + color);
  }
  
}
  
class Main {
  
  public static void main(String[] args) {
    Car cObj = new Car("Black", 1600, 4, 4);
    cObj.carDetail();
  }
}

ما یک کلاس اتومبیل ایجاد کرده ایم که شامل اشیای کلاس های Engine (موتور) ، Tires (چرخ ها) و Doors (درب ها) است. کلاس Car مسئول طول عمر اشیای متعلق به خود است ، به عنوان مثال ، هنگامی که اتومبیل از کار می افتد ، چرخ ها ، موتور و درب ها نیز از کار می افتند یا بی استفاده می شوند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا