უნდა იყოს თუ არა მარტოხელა დესტრუქტორი პირადი?

Სარჩევი:

უნდა იყოს თუ არა მარტოხელა დესტრუქტორი პირადი?
უნდა იყოს თუ არა მარტოხელა დესტრუქტორი პირადი?

ვიდეო: უნდა იყოს თუ არა მარტოხელა დესტრუქტორი პირადი?

ვიდეო: უნდა იყოს თუ არა მარტოხელა დესტრუქტორი პირადი?
ვიდეო: რუსული ენა დამაბნეველია ხოლმე? 2024, მარტი
Anonim

დიახ, ზოგადად, ეს კარგი იდეაა. თუ მას კერძო გახდის, მაშინ თქვენი კლიენტის კოდი შემთხვევით არ დაურეკავს დესტრუქტორს. დესტრუქტორის გამოძახება გამოიწვევს სინგლის წარუმატებლობას ყველა კლიენტისთვის, რადგან ეს მაგალითი არასწორი გახდება.

უნდა იყოს დესტრუქტორები პირადი?

როდესაც გვსურს გავაკონტროლოთკლასის ობიექტების განადგურება, ჩვენ დესტრუქტორს ვანიჭებთ კერძოს. დინამიურად შექმნილი ობიექტებისთვის შეიძლება მოხდეს, რომ თქვენ გადასცეთ მაჩვენებელს ობიექტს ფუნქციაზე და ფუნქცია წაშლის ობიექტს. თუ ობიექტი მითითებულია ფუნქციის გამოძახების შემდეგ, მითითება გახდება დაკიდებული.

რატომ აქვს singleton კლასს კერძო მეთოდი?

სინგტონური კლასი არის ერთი რომელიც ზღუდავს ობიექტების შექმნის რაოდენობას ერთამდეკერძო კონსტრუქტორის გამოყენებით შეგვიძლია დავრწმუნდეთ, რომ ერთდროულად არ შეიძლება შეიქმნას ერთზე მეტი ობიექტი. კერძო კონსტრუქტორის მიწოდებით თქვენ თავიდან აიცილებთ კლასის ეგზემპლარების შექმნას ამ კლასის გარდა სხვა ადგილას.

უნდა ჰყავდეს თუ არა მარტოხელას დესტრუქტორი?

თუ სინგლი დანერგილია როგორც ცვლადი გლობალური მასშტაბით, მას უნდა ჰქონდეს საჯარო დესტრუქტორი… თუ ის გამოცხადებულია როგორც სტატიკური წევრი ან სტატიკური ლოკალი თავის კლასში, მაშინ დესტრუქტორი შეიძლება იყოს პირადი. დესტრუქტორი გამოიძახება კლასის ფარგლებიდან, სადაც ის ხელმისაწვდომია, პროგრამის გასვლისას.

აქვს თუ არა singleton კლასს პირადი მეთოდი?

Singleton კლასის კონსტრუქტორი იქნება კერძო, ამიტომ უნდა არსებობდეს სხვა გზა ამ კლასის ინსტანციის მისაღებად. ეს პრობლემა მოგვარებულია კლასის წევრის მაგალითის და ქარხნული მეთოდის გამოყენებით კლასის წევრის დასაბრუნებლად.

გირჩევთ: