Нэг анги c хэл дээр хэдэн байгуулагчтай байж болох вэ?

Нэг анги c хэл дээр хэдэн байгуулагчтай байж болох вэ?
Нэг анги c хэл дээр хэдэн байгуулагчтай байж болох вэ?
Anonim

Ангид нэгээс олон бүтээгч тодорхойлогдсон байж болно. Үүнийг бүтээгчийг хэт ачаалах гэж нэрлэдэг. Дээрх World байгуулагч шиг ямар ч параметргүй (байгуулагчийн нэрийн дараа хаалтанд юу ч байхгүй) бүтээгч ихэвчлэн байдаг. Үүнийг мөн аргументгүй үүсгэгч гэж нэрлэдэг.

Нэг ангид хэдэн байгуулагч байж болох вэ?

Хатуухан хэлэхэд JVM ангиллын файлын формат нь ангийн аргын тоог (бүх бүтээгчийг оруулаад) 65536-аас бага хүртэл хязгаарладаг. Том Хавтины хэлснээр үр дүнтэй хязгаар нь 65527. Аргын гарын үсэг бүр тогтмол санд нэг зай эзэлнэ.

Ангид хэд хэдэн байгуулагч байж болох уу?

Ангид хоёр (эсвэл түүнээс дээш) байгуулагчтай байх аргыг бүтээгчийн хэт ачаалал гэж нэрлэдэг. Анги нь параметрийнхээ тоо болон/эсвэл төрлөөр ялгаатай олон бүтээгчтэй байж болно. Гэхдээ яг ижил параметртэй хоёр бүтээгчтэй байх боломжгүй.

Бид С хэлний нэг ангид нэгээс олон байгуулагчтай байж болох уу?

С++ хэл дээр бид ангид ижил нэртэй нэгээс олон байгуулагчтай байж болно, хэрэв тус бүр нь өөр аргументуудын жагсаалттай бол. Энэ ойлголтыг Конструкторын хэт ачаалал гэж нэрлэдэг бөгөөд функцийн хэт ачаалалтай маш төстэй юм.

Та бүтээгч рүү залгаж болох уу?

Аргын үүсгэгчийг дуудаж байна

Үгүй, та бүтээгчийг дуудаж болохгүй аргаас. "This" эсвэл "super"-ийг ашиглан бүтээгчдийг дуудаж болох цорын ганц газар бол өөр бүтээгчийн эхний мөр юм. Хэрэв та өөр газар үүсгэгчийг дуудахыг оролдвол эмхэтгэх цагийн алдаа үүснэ.

Зөвлөмж болгож буй: