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

Ինչպե՞ս կարող ենք Java-ում դասը անփոփոխ դարձնել ամսաթվի դաշտով:
Ինչպե՞ս կարող ենք Java-ում դասը անփոփոխ դարձնել ամսաթվի դաշտով:

Video: Ինչպե՞ս կարող ենք Java-ում դասը անփոփոխ դարձնել ամսաթվի դաշտով:

Video: Ինչպե՞ս կարող ենք Java-ում դասը անփոփոխ դարձնել ամսաթվի դաշտով:
Video: JavaScript ծրագրավորում սկսնակների համար։ Սովորում ենք ջավասկրիպտ 2 ժամում։ [JS ծրագրավորում] 2024, Ապրիլ
Anonim

Մենք կհասկանանք, թե իրականում ինչ են նշանակում այս ուղեցույցները՝ ստեղծելով անփոփոխ դաս՝ փոփոխվող օբյեկտով Date դաշտով:

  1. Մի տրամադրեք «կարգավորող» մեթոդներ՝ փոփոխվող մեթոդներ դաշտերը կամ առարկաներ կողմից նշված դաշտերը .
  2. Դարձնել բոլորը դաշտերը վերջնական և մասնավոր.
  3. Թույլ մի տվեք ենթադասերին փոխարինել մեթոդները:

Այսպիսով, ինչպե՞ս կարող ենք Java-ում դասը դարձնել անփոփոխ:

Անփոփոխելի դաս Java-ում

  1. Դասը հայտարարեք որպես վերջնական, որպեսզի այն չերկարացվի:
  2. Բոլոր դաշտերը դարձրեք մասնավոր, որպեսզի ուղղակի մուտքը թույլ չտա:
  3. Մի տրամադրեք կարգավորող մեթոդներ փոփոխականների համար:
  4. Բոլոր փոփոխվող դաշտերը դարձրեք վերջնական, որպեսզի դրա արժեքը վերագրվի միայն մեկ անգամ:
  5. Նախաձեռնեք բոլոր դաշտերը խորը պատճենը կատարող կոնստրուկտորի միջոցով:

Հետագայում հարցն այն է, թե որն է Java-ում անփոփոխ դասի օգտագործումը: Անփոփոխ դաս նշանակում է, որ երբ օբյեկտը ստեղծվի, մենք չենք կարող փոխել դրա բովանդակությունը: Մեջ Java , ամբողջ փաթաթան դասեր (ինչպես Integer, Boolean, Byte, Short) և String դաս է անփոփոխելի . Մենք կարող ենք ստեղծել մերը անփոփոխ դաս նույնպես.

Մարդիկ նաև հարցնում են, արդյոք Java-ում Date դասը անփոփոխ է:

Ամսաթիվ չէ անփոփոխելի , մենք պետք է պաշտպանական կրկնօրինակենք java . օգտագործել. Ամսաթիվ դաշտ՝ վերադարձնելով հղում այս օրինակի փոփոխականին: Եկեք ստեղծենք հիպոթետիկ մարդ դաս որն ունի անուն և դոբ որպես միակ երկու անդամ:

Ինչպե՞ս կարող ենք օբյեկտը դարձնել անփոփոխ:

Օբյեկտը անփոփոխ դարձնելու համար դուք պետք է կատարեք հետևյալ քայլերը

  1. Մի օգտագործեք որևէ մեթոդ, որը կարող է փոխել ձեր դասի դաշտերը: Օրինակ, մի օգտագործեք Setters:
  2. Խուսափեք օգտագործել հանրային ոչ վերջնական դաշտերը: Եթե ձեր դաշտերը հրապարակային են, ապա դուք պետք է դրանք հայտարարեք որպես վերջնական և նախաստորագրեք դրանք կոնստրուկտորում կամ ուղղակիորեն հայտարարագրման տողում:

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