بىلىك كۇلۇبى

پروگرامما تىللىرى => Java => Topic started by: قۇت بىلىگ on (UTC+3) 20:48, 2021-04-13

Title: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: قۇت بىلىگ on (UTC+3) 20:48, 2021-04-13
ئەسسالامۇ ئەلەيكۇم بىلىكداشلار ياخشىمۇ سىلەر !

بۈگۈنكى تىمىمىز يۇمشاق دېتال تۈزەش ساھەسىدىكى ئوبيېكتقا يۈزلەنگەن پروگرامما تۈزەش ھەققىدە بولىدۇ .

ئوبيېكتقا يۈزلەنگەن پروگرامما تۈزەشنى تېخىمۇ ياخشى چۈشۈنۈش ئۈچۈن پروگرامما ، پروگرامما تىلى ۋە يۇمشاق دېتال قاتارلىق ئۇقۇملارنى چۈشەندۈرۈش تېخىمۇ پايدىلىق دەپ ئويلايمەن .

پروگرامما :
كۈندۈلۈك تۇرمۇشتىكى بەزى مەسىلىلەرنى كومپىيوتېر بىلەن ھەل قىلىش ۋە كۈندىلىك خىزمەتكە قولايلىق يارىتىش ئۈچۈن يېزىلغان يۇمشاق دېتاللاردۇر.باشقىچە قىلىپ ئېيتقاندا ، كومپىيوتېرنىڭ بىر مەشغۇلاتنى ئىجرا قىلىشى ئۈچۈن لاھىيەلەنگەن بۇيرۇق زەنجىرى .بىزنىڭ يۇمشاق دىتال تۈزۈپ چىقىشىمىز ئۈچۈن ئالدى بىلەن پروگرامما تىلىنى ۋە پروگراممىغا ئائىت ئاساسى بىلىملەرنى بىلىشىمىز كېرەك .

پروگرامما تىلى :
پروگرامما تىلى كومپىيوتېردا ھەل قىلىنىدىغان بىر مەسىلىنىڭ ھەل قىلىنىش ئۇسۇللىرىنى كومپىيوتېرنىڭ قاتتىق دېتاللىرى چۈشۈنىدىغان شەكىلدە قەدەممۇ قەدەم يېزىشنى ساقلاپ بەرگەن بىر تىلدۇر .

يۇمشاق دېتال :
ئىشلەتكۈچىلەرنىڭ سودا جەريانىنى قىسقارتىش ۋە ئىشلەپ چىقىرىش ئۈنۈمىنى ئاشۇرۇش قاتارلىق ھەر خىل ۋەزىپىلەر ئۈچۈن تەييارلانغان پروگراممىلاردۇر . بۈگۈنكى كۈنىمىزدىكى قوللانغۇچىلارنىڭ ئېھتىياجىنى قاندۇرۇش ئۈچۈن ياسالغان توربەتلەر ، كۆچمە ۋە ئۈستەل يۈزى يۇمشاق دېتاللار بۇنىڭ تىپىك مىسالى بولالايدۇ .

ئوبيېكتقا يۈزلەنگەن پروگرامما تۈزۈش :
ئەگەر بىز ئويېكتقا يۈزلەنگەن پروگرامما تۈزۈشنى مىسال قىلىدىغان بولساق ، تۇرمىشىمىزدىكى ماشىنا ، رادىئو بىنا قاتارلىق جىسىملارنىڭ كومپىيوتېر مۇھىتىغا يۆتكىلىشى ئويېكتقا يۈزلىنىش بولىدۇ .
مەسىلەن : چىراغنىڭ ئۆچۈپ يېنىش ھالىتى ياكى رادىئونىڭ ئالاھىدىلىكى ، ئۇنىڭ رەڭگى ، ماركىسى ، ئىشلەپ چىقىرىش ۋاقتى ، ئىشلەپ چىقىرىش ئورنى قاتارلىقلار .

ئويېكتقا يۈزلەنگەن پروگرامما تۈزۈشنىڭ قولايلىقلىقى :
رىئال دۇنيادىكى جىسىملارنىڭ لاھىيەلىنىشى بىر سىنىپ <class> ئىچىدە ياسىلىدۇ .
ئەگەر سىز قۇرغان سىنىپىڭىزدىن بىر ئوبيېكت ياسىماقچى ۋە ئۆزگەرتمەكچى بولسىڭىز ، پۈتۈن پروگراممىدا ئۆزگەرتىش ئېلىپ بېرىشىڭىزنىڭ ھاجىتى يوق ، سىز پەقەت ياسىغان ئويېكتنىڭ سىنىپىدا ئۆزگەرتىش قىلسىڭىز كۇپايە .
ياسالغان ئوبيېكتلار بىر بىرىدىن مۇستەقىل بولغاچقا ، ئۇچۇرلارنى يۇشۇرۇش ئېھتىمالى ئاشىدۇ .
مەسىلەن : ئا ئوبيېكت ب ئوبيېكتنىڭ خۇسۇسىيىتىنى ئىشلىتەلمەيدۇ ۋە زىيارەت قىلالمايدۇ.
ئوبيېكت قۇرۇش بىر سىنىپتا ئېلىپ بېرىلىدىغان بولۇپ ، بۇ كودلارنى باشقا يەرلەردىمۇ ئىشلىتىشكە بولىدۇ .
مەسىلەن بىز بىر ئا ئوبيېكتىنى قۇرغان بولساق ، ئۇنى نۇرغۇن يەرلەردە ئىشلىتەلەيمىز .
قۇرۇلغان سىنىپلارنىڭ ياردىمىدە ئاز كود بىلەن تېخىمۇ كۆپ خىزمەت قىلغىلى بولىدۇ ، ئىشنىڭ ئۈنۈمى ئاشىدۇ . ھەمدە كود تەكرارلىنىشتىن ساقلانغىلى بولىدۇ .
مەسىلەن : بىز بىر ئوقۇغۇچى سىنىپىنى قۇردۇق ، ئۇنىڭدا ئوقۇغۇچىنىڭ ئىسمى ، فامىلىسى ، يېشى ۋە تۇغۇلغان يىرى قاتارلىق ئوقۇغۇچىغا خاس بولغان خۇسۇسىيەتلەرنى يېزىۋالالايمىز ئاندىن بۇ سىنىپتىن بىز خالىغان يەردە ، خالىغان ئوقۇغۇچىنىڭ مەلۇماتلىرىنى ئاز كود يېزىش بىلەنلا ئەمەلگە ئاشۇرالايمىز .

سىنىپ دىگەن نېمە ؟ < Class >

رېئال دۇنيادىكى جىسىملارنىڭ خۇسۇسىيىتى ۋە ھەرىكەتلىرى  سىنىپ <Class> ئىچىگە يېزىلىدۇ . بۇ ئەھۋاللار مېتودلارنىڭ ياردىمى بىلەن بولىدۇ . سىنىپ ئىچىگە يېزىلغان خۇسۇسىيەتلەر ، ئۆزگەرگۈچى مىقدارلار سىنىپ ئەزالىرى دەپ ئاتىلىدۇ. ئۆزگەرگۈچى مىقدارلار  بىز ئىشلىتىدىغان ئىسىم -فامىلە ، ياش ، يۇرت ، قاتارلىق ئۇچۇرلارنى ساقلايدۇ. مېتودلار بولسا قوللانغۇچى تىزىملاش ، ئىككى ساننىڭ يېغىندىسى  ۋە ئاشۇنىڭغا ئوخشاش ۋەزىپىلەرنى ئورۇنلايدىغان تارماق پروگراممىلاردۇر. سىنىپ <Class> بولسا ئابستراكت ئۇقۇم بولۇپ ، بىز ئۇنى بىۋاستە ئىشلىتەلمەيمىز پەقەت ئۇنىڭدىن بىر ئوبيېكت قۇرۋېلىش ئارقىلىق ئىشلىتەلەيمىز .

ئوبيېكت دىگەن نېمە ؟
سانلىق مەلۇماتلارنى ساقلايدىغان ۋە بۇ سانلىق مەلۇماتلاردا مەشغۇلات قىلىدىغان مېتودلارنى ئۆز ئىچىگە ئالغان بىر قۇرال دىسەك بولىدۇ .ئوبيېكتلارنى ھەر بىر قوللىنىشچان پروگراممىدا قايتا ئىشلەتكىلى بولىدۇ . بىز بىر ئوبيېكت قۇرغان ۋاقتىمىزدا ، ئىچكى ساقلىغۇچتا بوشلۇق ئىگىلەيدۇ.

ئويېكتقا يۈزلەنگەن پروگرامما تۈزۈش ئىقتىدارلىرى :
ئوبيېكتقا يۈزلەنگەن پروگرامما تۈزەشتە تۆت ئاساسلىق ئىقتىدار بار . بۇ ئىقتىدارلارنىڭ بىرىنى تەمىنلىمەيدىغان پروگرامما تىلى ئوبيېكتقا يۈزلەنگەن پروگرامما تىلى ھېساپلانمايدۇ .
1) ئابستراكت (Abstract)
2) كاپسۇللاش (Encapsulation)
3) ۋارىسلىق قىلىش (Inheritance)
4) ئەۋرىشىملىق (Polymorphism)

1) ئابستراكت : بىر سىنىپتا  خۇسۇسىيەت ۋە ھەرىكەت يەنى مېتودلارنى ئېنىقلاشنى كۆرسىتىدۇ. مەسىلەن ماشىنا سىنىپىدا  ماشىنا رەڭگى ، مودېلى ، چاق سانى ، ئىشىك سانى ، ماتور كۈچى ، ئالاھىدىلىكى قاتارلىق خۇسۇسىيەتلەرنى ئۆز ئىچىگە ئالغان بولسا ، ماشىنىنىڭ تىزلىكى ، ماشىنىنى قوزغىتىش ،  تورمۇزلاش ، ئىشىكنى ئېچىش قاتارلىق ھەرىكەت مېتودلىرىنى ئۆز ئىچىگە ئەلغان بولىدۇ .

2) كاپسۇللاش :  خۇسۇسىيەت ۋە ھەرىكەتلەر سىنىپتا  ئابستراكت ھالىتىدە كاپسۇللىنىدۇ . كاپسۇللاش ئارقىلىق قايسى ئىقتىدارنىڭ ياكى خۇسۇسىيەتنىڭ سىنىپ تېشىغا چىقىش چىقماسلىقىنى بەلگىلەيمىز . مەسىلەن : ئەگەر ئىنسان سىنىپىدىكى بىر ئىنساننىڭ يىيىش ئادەتلىنىشى بىز ئۈچۈن مۇھىم بولمىسا بىز بۇنى يۇشۇرۇن ھالەتتە تۇنىتىمىز . ئەمما ئىسىم - فامىلە قاتارلىق بەزى بىر خۇسۇسىيەتلەر بىز ئۈچۈن باشقا بىر يەردە لازىم بولغاچقا بىز بۇلارنى يۇشۇرمايمىز . بىز بۇ پائالىيەتكە كاپسۇللاش دەيمىز . ئۇچۇرلىرىمىزنى باشقا سىنىپتا ئېرىشىپ ياكى ئېرىشەلمەسلىكىمىزنى بۇ ئاچقۇچلۇق كەلىمە بىلەن ئىپادىلەيمىز . ( public , private ,  protected )

public : ھەممە ئادەم ئېرىشەلەيدىغان خۇسۇسىيەت ۋە ئىقتىدارلارغا ئىشلىتىمىز .
private : پەقەت ئۆز سىنىپىدىلا ئېرىشەلەيدىغان خۇسۇسىيەت ۋە ئىقتىدارغا ئىشلىتىمىز.
protected : سىنىپ ئىچىدە مىراس ئالغان تارماق تۈرلەردە ئىشلىتىلىدۇ .

3) ۋارىسلىق قىلىش  : سىنىپلار بىر بىرىدىن ھاسىل بولىدۇ ۋە تارماق سىنىپ ئانا سىنىپتا بار بولغان خۇسۇسىيەت ۋە ئالاھىدىلىكلەرنى ئۆز ئىچىگە ئالىدۇ . مەسىلەن : ماشىنا ۋە ۋېلىسپىت سىنىپىنى ئويلاپ باقىدىغان بولساق ئىككىنىسى بىر قاتناش قۇرالى شۇنىڭ ئۈچۈن بىز بىر قاتناش قۇرالى ئىسىملىك سىنىپ ياسىۋالىمىز ۋە بۇ سىنىىپقا ماشىنىنىڭ ۋە ۋېلىسپىتنىڭ ئورتاق بولغان خۇسۇسىيىتىنى يېزىۋالىمىز . ( ماشىنىنىڭ رەڭگى ، ماركىسى ، مودېلى ، چاق سانى ... قاتارلىق بەزى بىر خۇسۇسىيەتلىرى ۋېلىسپىتتىمۇ بولغان بولىدۇ شۇنىڭ ئۈچۈن بىز بۇ سىنىپقا رەڭگە ، ماركىسى ، مودېلى ، چاق سانى قاتارلىق ئوخشاش خۇسۇسىيەتنى يېزىۋالىمىز ) ۋە ماشىنا دەپ بىر سىنىپ قۇرۇپ بىز بۇ سىنىپنى قاتناش قۇرالى دىگەن سىنىپتىن ۋارىسلىق قىلىش ئارقىلىق ياسىۋالىمىز. شۇنىڭغا ئوخشاش ۋېلىسپىت سىنىپىنىمۇ ئوخشاشلا ياسىۋالىمىز .

4) ئەۋرىشىملىق : تارماق سىنىپلار ئانا سىنىپلاردىكى ئالاھىدىلىكنى كۆرسىتىشى ھاجەتسىز . تارماق سىنىپلار ئانا سىنىپلار ساھىپ بولغان ئالاھىدىلىكتىن پەرقلىق ھالدا باشقا ئالاھىدىلىك كۆرسىتىشىگە بىز ئەۋرىشىملىق دەپ ئاتايمىز. مەسىلەن : كېمە ۋە ماشىنىنى مىسالغا ئالغان ۋاقتىمىزدا بۇلارنىڭ ھەرىكەت تىپى ئوخشىمىغان بولىدۇ . كېمە سۇ ئۈستىدە ماڭىدۇ ، ماشىنا قۇرۇقلۇقتا . قىسقىچە ئېيتقاندا پەرىقلىق ئوبيېكتلارنىڭ ئوخشاش پائالىيىتىگە ئوخشىمايدىغان شەكىلدە جاۋاپ بىرىشىنى كۆرسىتىدۇ .

ئوبيېكتقا يۈزلەنگەن پروگرامما تىللىرى :
java
phthon
c++
php
C#
R
Ruby
Kotlin
Swift
Objective-C
قاتارلىقلار ...
Title: تېما: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: Memtimin on (UTC+3) 23:54, 2021-04-13
ياخشى يېزىپسىز، مۇبارەك بولسۇن.
Title: تېما: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: بىلال on (UTC+3) 16:35, 2021-04-14
قارغاندا ئەپ ياساش ئانچە  ئاسان ئەمەس ئوخشايدۇ
Title: تېما: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: قۇت بىلىگ on (UTC+3) 18:26, 2021-04-20
Quote from: بىلال on (UTC+3) 16:35, 2021-04-14قارغاندا ئەپ ياساش ئانچە  ئاسان ئەمەس ئوخشايدۇ
سىزنىڭ كۆڭۈل قويۇپ ئۆگۈنۈشىڭىزگە ۋە قىزىقىشىڭىزغا باغلىق بولىدۇ . ئەگەر سىز قىزىقمىسىڭىز مىڭنى قىلغان بىلەن يەنىلام زىركىپ بۇ ساھەدىن ئۇزاقلىشىسىز ، ئەگەر قىزىقىپ قالسىڭىز كېچىلىرى ئۇيقۇ كەلمەي كود يازغۇڭىز كىلىپ ، ھەر ۋاقىت كاللىڭىزدا ماۋۇنى مۇنداق قىلسام مۇنداق بولسا  دىگەندەك خىياللارغا غەرىق بولىسىز  ;D
كۆڭۈل قويغان ئادەمگە ، قىيىن ئىش يوق ئالەمدە .
Title: تېما: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: قۇت بىلىگ on (UTC+3) 18:27, 2021-04-20
Quote from: Memtimin on (UTC+3) 23:54, 2021-04-13ياخشى يېزىپسىز، مۇبارەك بولسۇن.

رەھمەت  ;)
Title: تېما: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: mirzat on (UTC+3) 22:52, 2021-04-26
ئېسىل تېما بولۇپتۇ.
Title: تېما: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: بىلال on (UTC+3) 21:06, 2021-04-28
Quote from: قۇت بىلىگ on (UTC+3) 18:26, 2021-04-20
Quote from: بىلال on (UTC+3) 16:35, 2021-04-14قارغاندا ئەپ ياساش ئانچە  ئاسان ئەمەس ئوخشايدۇ
سىزنىڭ كۆڭۈل قويۇپ ئۆگۈنۈشىڭىزگە ۋە قىزىقىشىڭىزغا باغلىق بولىدۇ . ئەگەر سىز قىزىقمىسىڭىز مىڭنى قىلغان بىلەن يەنىلام زىركىپ بۇ ساھەدىن ئۇزاقلىشىسىز ، ئەگەر قىزىقىپ قالسىڭىز كېچىلىرى ئۇيقۇ كەلمەي كود يازغۇڭىز كىلىپ ، ھەر ۋاقىت كاللىڭىزدا ماۋۇنى مۇنداق قىلسام مۇنداق بولسا  دىگەندەك خىياللارغا غەرىق بولىسىز  ;D
كۆڭۈل قويغان ئادەمگە ، قىيىن ئىش يوق ئالەمدە .

Quote from: قۇت بىلىگ on (UTC+3) 18:26, 2021-04-20
Quote from: بىلال on (UTC+3) 16:35, 2021-04-14قارغاندا ئەپ ياساش ئانچە  ئاسان ئەمەس ئوخشايدۇ
سىزنىڭ كۆڭۈل قويۇپ ئۆگۈنۈشىڭىزگە ۋە قىزىقىشىڭىزغا باغلىق بولىدۇ . ئەگەر سىز قىزىقمىسىڭىز مىڭنى قىلغان بىلەن يەنىلام زىركىپ بۇ ساھەدىن ئۇزاقلىشىسىز ، ئەگەر قىزىقىپ قالسىڭىز كېچىلىرى ئۇيقۇ كەلمەي كود يازغۇڭىز كىلىپ ، ھەر ۋاقىت كاللىڭىزدا ماۋۇنى مۇنداق قىلسام مۇنداق بولسا  دىگەندەك خىياللارغا غەرىق بولىسىز  ;D
كۆڭۈل قويغان ئادەمگە ، قىيىن ئىش يوق ئالەمدە .


ئۇغۇ شۇ ئەمدى. بۇرۇن مەن ئاشۇنداق ئولتۇرۇپ كىتەتتىم. كىچە ئولتۇرۇپ قىلدىغان ئىشلار تۈگمەي تاڭ ئىتىپ كىتەتتى. 😁 شۇچاغلارنى ئويلىسام ھازىر چارچاپتىمەن بالا چاقلىق بولاپ قالغاندا مىقتەك ئولتۇرۇپ بولاممايدىكەنمىز. بالا بويانغا مىندىكەن تۇرمۇش قىستايدىكەن. 😁
بەزدە ئويلاپ كىتمەن ئاھ.... باللىق چاغلار دەپچۇ
Title: تېما: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: قۇت بىلىگ on (UTC+3) 04:56, 2021-04-29
Quote from: بىلال on (UTC+3) 21:06, 2021-04-28
Quote from: قۇت بىلىگ on (UTC+3) 18:26, 2021-04-20
Quote from: بىلال on (UTC+3) 16:35, 2021-04-14قارغاندا ئەپ ياساش ئانچە  ئاسان ئەمەس ئوخشايدۇ
سىزنىڭ كۆڭۈل قويۇپ ئۆگۈنۈشىڭىزگە ۋە قىزىقىشىڭىزغا باغلىق بولىدۇ . ئەگەر سىز قىزىقمىسىڭىز مىڭنى قىلغان بىلەن يەنىلام زىركىپ بۇ ساھەدىن ئۇزاقلىشىسىز ، ئەگەر قىزىقىپ قالسىڭىز كېچىلىرى ئۇيقۇ كەلمەي كود يازغۇڭىز كىلىپ ، ھەر ۋاقىت كاللىڭىزدا ماۋۇنى مۇنداق قىلسام مۇنداق بولسا  دىگەندەك خىياللارغا غەرىق بولىسىز  ;D
كۆڭۈل قويغان ئادەمگە ، قىيىن ئىش يوق ئالەمدە .

Quote from: قۇت بىلىگ on (UTC+3) 18:26, 2021-04-20
Quote from: بىلال on (UTC+3) 16:35, 2021-04-14قارغاندا ئەپ ياساش ئانچە  ئاسان ئەمەس ئوخشايدۇ
سىزنىڭ كۆڭۈل قويۇپ ئۆگۈنۈشىڭىزگە ۋە قىزىقىشىڭىزغا باغلىق بولىدۇ . ئەگەر سىز قىزىقمىسىڭىز مىڭنى قىلغان بىلەن يەنىلام زىركىپ بۇ ساھەدىن ئۇزاقلىشىسىز ، ئەگەر قىزىقىپ قالسىڭىز كېچىلىرى ئۇيقۇ كەلمەي كود يازغۇڭىز كىلىپ ، ھەر ۋاقىت كاللىڭىزدا ماۋۇنى مۇنداق قىلسام مۇنداق بولسا  دىگەندەك خىياللارغا غەرىق بولىسىز  ;D
كۆڭۈل قويغان ئادەمگە ، قىيىن ئىش يوق ئالەمدە .


ئۇغۇ شۇ ئەمدى. بۇرۇن مەن ئاشۇنداق ئولتۇرۇپ كىتەتتىم. كىچە ئولتۇرۇپ قىلدىغان ئىشلار تۈگمەي تاڭ ئىتىپ كىتەتتى. 😁 شۇچاغلارنى ئويلىسام ھازىر چارچاپتىمەن بالا چاقلىق بولاپ قالغاندا مىقتەك ئولتۇرۇپ بولاممايدىكەنمىز. بالا بويانغا مىندىكەن تۇرمۇش قىستايدىكەن. 😁
بەزدە ئويلاپ كىتمەن ئاھ.... باللىق چاغلار دەپچۇ
توغرا دەيسىز سىزدەك ئائىلىلىك بوپ قالغاندا تەسكە توختايدۇ . بىز بويتاقلىقنىڭ پەيزىنى سۈرۈپ ئۆگۈنىۋالايلى  ;D  لىكىن ئۆگۈنۈش ئارزۇيىڭىز بولسا مۇنبەردە ئۇستازلار دەرسلىك چىقىرىشى مۇمكىن .
Title: تېما: ئوبىكىتقا يۈزلەنگەن پروگرامما تىلى دىگەن نېمە ؟ (OOP)
Post by: قۇت بىلىگ on (UTC+3) 04:58, 2021-04-29
Quote from: mirzat on (UTC+3) 22:52, 2021-04-26ئېسىل تېما بولۇپتۇ.
رەھمەت