Негізгі айырмашылық – Конструктор мен Деструктор
Бағдарламалау тілдерінің көпшілігі объектіге бағытталған бағдарламалауды (OOP) қолдайды. Бұл объектілерді пайдаланып бағдарламалық жасақтаманы немесе бағдарламаны модельдеуге көмектесетін парадигма. OOP өнімділік пен техникалық қызмет көрсетуді жақсартады. OOP-де бәрі объект ретінде қарастырылады. Нысандар сыныптар арқылы жасалады немесе жасалады. Конструктор және Деструктор объектілі-бағытталған бағдарламалаудағы ортақ терминдер. Бұл мақалада конструктор мен деструктор арасындағы айырмашылық талқыланады. Конструктор мен деструктор сыныптағы арнайы мүше функциясы болып табылады. Конструктор мен деструктордың аты сыныппен бірдей, бірақ деструкторда тильда (~) белгісі бар. Конструктор мен деструктордың негізгі айырмашылығы мынада: конструктор жадты объектіге бөлу үшін пайдаланылады, ал деструктор объектінің жадын бөлу үшін пайдаланылады.
Конструктор дегеніміз не?
Конструктор – объектіге жадты бөлу үшін сыныптағы арнайы мүше функциясы. Оны деректер мүшелері үшін мәндерді қамтамасыз ету үшін пайдалануға болады. Нысан жасалған кезде конструктор шақырылады. Оның атауы сынып атауымен бірдей. Конструктор ешбір мәнді қайтармайды. Сондықтан ол қайтару түрін қамтымайды. Конструктор параметрлерді де қабылдай алады. Параметрлері бар конструктор параметрленген конструктор ретінде белгілі.
Конструктордың мысалы келесідей.
жалпы сынып Тіктөртбұрыш{
int ұзындығы, ені;
қоғамдық төртбұрыш(int p, int q){
ұзындығы=p;
ені=q;
}
public int accountArea(){
қайтару (ұзындықені);
}
}
Жоғарыдағы код бөлігіне сәйкес, конструктор сынып атауымен бірдей атқа ие. Rectangle конструкторы екі параметрді қабылдайды. Олар p және q. Ұзындыққа p бүтін мәні тағайындалады. Бүтін q мәні еніне тағайындалады. Calcu alteArea ішінде тіктөртбұрыштың ауданын табу үшін ұзындық пен еннің көбейтіндісі есептеледі. Негізгі программада программист Rectangle типті объект құрып, аргументтерді бере алады. мысалы Rectangle rect1=жаңа төртбұрыш(2, 3). Содан кейін параметрленген конструктор шақырылады және мәндерді ұзындық пен енге тағайындайды.
01-сурет: конструктор және деструктор
Ешбір параметрі жоқ конструктор болған кезде ол әдепкі конструктор деп аталады. Егер бағдарламашы конструкторды анықтамаса, әдепкі конструктор шақырылады. Егер Студент ретінде класс болса және бағдарламашы Student типті объектіні жасағанда, әдепкі конструктор шақырылады. мысалы Студент s1=new Student(); Сыныпта әртүрлі параметрлері және әртүрлі деректер түрлері бар бірнеше конструктор болуы мүмкін. Сәйкес конструкторды шақыруға болады. Сондықтан конструкторлар шамадан тыс жүктелуі мүмкін.
Deструктор дегеніміз не?
Deструктор – сыныптағы арнайы мүше функциясы. Ол конструктор жасаған объект үшін жадты бөлу үшін қолданылады. Нысан жойылған кезде деструктор шақырылады. Ол енді қажет емес тазалау қоймасын орындайды. Конструктор сияқты, деструктордың класс атымен бірдей. Сондай-ақ, онда тильда (~) таңбасы бар.
Deструктор ешбір мәнді қайтармайды. Конструктордан айырмашылығы деструктор ешбір параметрді қабылдамайды. Осылайша, деструктор шамадан тыс жүктеуді қолдамайды. Деструкторды жариялау жақсы бағдарламалау тәжірибесі ретінде қарастырылады, себебі ол жад кеңістігін босатады және бұл кеңістік кейбір басқа нысандарды сақтау үшін пайдаланылуы мүмкін. Деструктор синтаксисі ~className() { } дегенге ұқсас. мысалы ~Rectangle() { }; Сыныпта тек бір деструктор болуы мүмкін.
Конструктор мен деструктордың қандай ұқсастықтары бар?
- Конструктор да, деструктор да нысандармен байланысты.
- Конструктор да, деструктор да ешбір мәнді қайтармайды.
- Конструктор да, деструктор да автоматты түрде шақырылады.
Конструктор мен деструктордың айырмашылығы неде?
Конструктор мен Деструктор |
|
Конструктор – объектіге жадты бөлу үшін қолданылатын сыныптағы арнайы мүше. | Деструктор – объект жадысын босату үшін пайдаланылатын сыныптың арнайы мүшесі. |
Шақыру әдісі | |
Нысан жасалғанда конструктор шақырылады. | Нысан жойылғанда немесе жойылғанда деструктор шақырылады. |
Қолдану | |
Конструктор нысандар үшін жадты бөлу үшін пайдаланылады. | Нысандардың жад орнын босату үшін деструктор пайдаланылады. |
Параметрлер | |
Конструктор параметрлерді қабылдайды. | Дструктор параметрлерді қабылдамайды. |
Конструкторлар мен деструкторлар саны | |
Параметрлерінің саны әртүрлі және параметрлер түрлері әртүрлі бірнеше конструктор болуы мүмкін. | Сыныпта жалғыз деструктор болуы мүмкін. |
Орындау жылдамдығы | |
Конструктордың аты сынып атауымен бірдей. | Дструктордың аты (~) белгісі бар сынып атауымен бірдей. |
Шамадан тыс жүктелу | |
Конструктор шамадан тыс жүктелуі мүмкін. | Дструкторды шамадан тыс жүктеу мүмкін емес. |
Қорытынды – Конструктор мен Деструктор
OOP – бағдарламалық жасақтаманы әзірлеудегі жалпы парадигма. Ол күрделі жобаны жеңілдетеді. OOP-да конструктор мен деструктор қолданылады. Конструктор мен деструктордың аты сыныппен бірдей, бірақ деструкторда ~ белгісі бар. Конструктор мен деструктордың айырмашылығы мынада: конструктор жадты объектіге бөлу үшін пайдаланылады, ал деструктор объектінің жадын бөлу үшін пайдаланылады.
Constructor vs Destructor PDF файлын жүктеп алыңыз
Сіз осы мақаланың PDF нұсқасын жүктеп алып, оны сілтеме жазбасына сәйкес офлайн мақсаттарда пайдалана аласыз. PDF нұсқасын мына жерден жүктеп алыңыз: Конструктор мен Деструктор арасындағы айырмашылық