Քանի՞ կոնստրուկտոր կարող է ունենալ դասը c-ում:

Բովանդակություն:

Քանի՞ կոնստրուկտոր կարող է ունենալ դասը c-ում:
Քանի՞ կոնստրուկտոր կարող է ունենալ դասը c-ում:
Anonim

Դասում կարող է սահմանվել մեկից ավելի կոնստրուկտորներ: Սա կոչվում է կոնստրուկտորի գերբեռնում: Սովորաբար կա կոնստրուկտոր, որը չունի պարամետրեր (կառուցողի անվանը հաջորդող փակագծերի ներսում ոչինչ չկա), ինչպես վերը նշված Աշխարհի կոնստրուկտորը: Սա նաև կոչվում է առանց փաստարկների կառուցող:

Քանի՞ կոնստրուկտոր կարող է լինել դասում:

Խստորեն ասած, JVM դասի ֆայլի ձևաչափը սահմանափակում է մեթոդների քանակը (ներառյալ բոլոր կոնստրուկտորները) դասի համար 65536-ից պակաս: Իսկ ըստ Թոմ Հոութինի, արդյունավետ սահմանաչափը 65527 է:. Մեթոդի յուրաքանչյուր ստորագրություն տեղ է զբաղեցնում մշտական լողավազանում:

Կարո՞ղ է դասը ունենալ մի քանի կոնստրուկտոր:

Դասում երկու (կամ ավելի) կոնստրուկտորներ ունենալու տեխնիկան հայտնի է որպես կոնստրուկտորների գերբեռնում: Դասը կարող է ունենալ մի քանի կոնստրուկտորներ, որոնք տարբերվում են իրենց պարամետրերի քանակով և/կամ տեսակով: Այնուամենայնիվ, հնարավոր չէ ունենալ երկու կոնստրուկտորներ՝ ճիշտ նույն պարամետրերով:

Կարո՞ղ ենք C-ի դասում ունենալ մեկից ավելի կոնստրուկտորներ:

C++-ում մենք կարող ենք ունենալ մեկից ավելի կոնստրուկտորներ նույն անունով դասում, քանի դեռ յուրաքանչյուրն ունի արգումենտների տարբեր ցուցակ: Այս հայեցակարգը հայտնի է որպես Constructor Overloading և բավականին նման է ֆունկցիայի գերբեռնմանը:

Կարո՞ղ եք զանգահարել կոնստրուկտոր:

Մեթոդից կոնստրուկտոր կանչելը

Ոչ, դուք չեք կարող կոնստրուկտոր կանչել մեթոդից: Միակ տեղը, որտեղից կարող եք կանչել կոնստրուկտորներին՝ օգտագործելով «այս» կամ «սուպեր»-ը, մեկ այլ կոնստրուկտորի առաջին տողն է: Եթե դուք փորձեք բացահայտորեն կանչել կոնստրուկտորներ այլուր, կստեղծվի կոմպիլյացիայի ժամանակի սխալ:

Խորհուրդ ենք տալիս: