আমি সম্প্রতি জোশুয়া ব্লচের কার্যকর জাভা পড়া শুরু করেছি। আমি বিল্ডার প্যাটার্নের ধারণাটি পেয়েছি [বইয়ের 2 আইটেম] আকর্ষণীয়। আমি এটি আমার প্রকল্পে বাস্তবায়নের চেষ্টা করেছি তবে সংকলনের ত্রুটি ছিল। নীচে আমি যা করতে চেষ্টা করেছিলাম তা হল:
একাধিক বৈশিষ্ট্যযুক্ত এবং এর নির্মাতা শ্রেণীর সাথে শ্রেণি:
public class NutritionalFacts {
private int sodium;
private int fat;
private int carbo;
public class Builder {
private int sodium;
private int fat;
private int carbo;
public Builder(int s) {
this.sodium = s;
}
public Builder fat(int f) {
this.fat = f;
return this;
}
public Builder carbo(int c) {
this.carbo = c;
return this;
}
public NutritionalFacts build() {
return new NutritionalFacts(this);
}
}
private NutritionalFacts(Builder b) {
this.sodium = b.sodium;
this.fat = b.fat;
this.carbo = b.carbo;
}
}
ক্লাস যেখানে আমি উপরের ক্লাসটি ব্যবহার করার চেষ্টা করি:
public class Main {
public static void main(String args[]) {
NutritionalFacts n =
new NutritionalFacts.Builder(10).carbo(23).fat(1).build();
}
}
আমি নিম্নলিখিত সংকলক ত্রুটি পেয়েছি:
একটি সংলগ্ন উদাহরণ যা কার্যকরী জাভা.বিল্ডারপ্যাটার্ন.নুশনালফ্যাক্টস.বিল্ডার প্রয়োজনীয় পুষ্টি প্রয়োজন n = নতুন নিউট্রিশনাল ফ্যাক্স.বিল্ডার (10) .কার্বো (23) .ফ্যাট (1)। বিল্ড ();
বার্তাটির অর্থ কী তা আমি বুঝতে পারি না। দয়া করে ব্যাখ্যা করুন. উপরের কোডটি ব্লোক তার বইয়ের পরামর্শের উদাহরণের মতো।