JavaRush /جاوا بلاگ /Random-SD /نمونو ٺاھيندڙ

نمونو ٺاھيندڙ

گروپ ۾ شايع ٿيل
هي نمونو استعمال ڪرڻ جي سفارش ڪئي وئي آهي جڏهن هڪ طبقي ۾ هڪ ئي قسم جي پيرا ميٽرن جو وڏو تعداد آهي ۽ انهن جي ترتيب ۽ مقصد کي ياد ڪرڻ ڏکيو آهي.
نمونو ٺاھيندڙ - 1
public class Good{
   public final int a;
   public final int b;
   public final int c;
   public final int d;
   public final int e;
   public final int f;
//Реализация Builder через статический внутренний класс
public static class Builder{
//Обязательные параметры
    public int a;
    public int b;
//Необязательные параметры со значениями по умолчанию
public int c = 0;
public int d = 0;
public int e = 0;
public int f = 0;
//Конструктор с обязательными параметрами
public Builder(int a, int b){
this.a=a;
this.b=b;
}
//Методы с возвращающим типом Builder для необязательного параметра с, d, e, f,
  public Builder c (int val) {
            c = val;
            return this;
        }
  public Builder d (int val) {
            d = val;
            return this;
        }
  public Builder e (int val) {
            e = val;
            return this;
        }
  public Builder f (int val) {
            f = val;
            return this;
        }
//Метод с возвращающим типом Good для генерации an object
public Good buidl() {
            return new Good (this); }
private Good(Builder builder) {
        a = builder.a;
        b = builder.b;
        c = builder.c;
        d = builder.d;
        e = builder.e;
        f = builder.f;     }
ھاڻي طريقي ۾، mainڪنھن شئي کي ٺاھڻ وقت، گھربل پيرا ميٽرز سان جامد طبقي جو ٺاھيندڙ Builderسڏيو ويندو آھي. ان کان پوء سڀ ضروري اختياري پيٽرولن کي ڊٽ ذريعي سڏيو ويندو آهي. آخرڪار، هڪ طريقو سڏيو ويندو آهي buidl();اعتراض پيدا ڪرڻ لاء.
Good good = new Good.Builder(40, 20)
        .c(2)
        .d(4)
        .e(23)
        .f(9)
        .buidl();
جيڪڏهن مان ٻه گهربل ۽ هڪ اختياري پيٽرولر سان هڪ اعتراض ٺاهڻ چاهيان ٿو، اهو هن طرح نظر ايندو:
Good good = new Good.Builder(40, 20)
        .c(2)
        .buidl();
جيڪڏهن مان صرف ٻه گهربل پيٽرولر سان هڪ اعتراض ٺاهڻ چاهيان ٿو، اهو هن طرح نظر اچي ٿو:
Good good = new Good.Builder(40, 20)
         .buidl();
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION