កុំព្យូទ័រ, ការសរសេរកម្មវិធី
កោះជ្វាទូទៅ: ការរៀបរាប់និងវិធីសាស្រ្ត
ការចាប់ផ្តើមជាមួយនឹងរូបរាងនៃភាសា Java ដែលបានឆ្លងកាត់ការផ្លាស់ប្តូរយ៉ាងច្រើនដែលពិតជាបាននាំយកឱកាសជាវិជ្ជមាននៅក្នុងមុខងាររបស់ខ្លួន។ ការផ្លាស់ប្តូរសំខាន់មួយនៃការទាំងនេះជាសេចក្តីណែនាំនៃកោះជ្វាប្រភេទឬទូទៅ។ មុខងារនេះមិនត្រឹមតែធ្វើឱ្យភាសានេះកាន់តែច្រើនអាចបត់បែនបាននិងល្អផងទេតែថែមទាំងមានសុវត្ថិភាពនៅក្នុងលក្ខខណ្ឌនៃការនាំយកប្រភេទទិន្នន័យ។
ការពិតគឺថាមុនពេលសេចក្តីណែនាំនៃការទូទៅក្នុងកូដទូទៅកោះជ្វាអាចត្រូវបានបង្កើត, មិនត្រឹមតែនៅក្នុងលក្ខខណ្ឌនៃវត្ថុប្រភេទឯកសារយោង។ តំណភ្ជាប់បែបនេះអាចត្រូវបានផ្ដល់វត្ថុណាមួយ។ បន្ទាប់ពីបានទាំងអស់, ថ្នាក់នៅកោះជ្វាជាអ្នកគ្រងមរតកថ្នាក់វត្ថុជាក់ច្បាស់។ ទោះយ៉ាងណាវិធីសាស្រ្តនេះគឺជាប្រភពសក្តានុពលនៃការមានកំហុសជាច្រើនដែលទាក់ទងទៅនឹងប្រភេទសន្តិសុខនៅក្នុងការបម្លែងជាក់ស្តែងនៃវត្ថុដែលបានមកពីវត្ថុដើម្បីប្រភេទគោលដៅមួយ។ នៅពេលដែលប្រើជាទូទៅចោលទាំងអស់ត្រូវបានអនុវត្តទាំងស្រុងហើយដោយស្វ័យប្រវត្តិ, ការលុបបំបាត់សូម្បីតែសក្តានុពលសម្រាប់កំហុស។
កោះជ្វាទូទៅ: ការរៀបរាប់និងគំរូ
សូមឱ្យយើងពិចារណាឧទាហរណ៍ធម្មតានៃកម្មវិធីនៃជំនាន់មួយទៅថ្នាក់ទៀងទាត់នៅក្នុងតួលេខដូចខាងក្រោម។ ហើយបន្ទាប់មកបន្តទៅពិនិត្យលម្អិតនៃការ subtleties ទាំងអស់និង nuances នៃកោះជ្វាទូទៅ។
យកចិត្តទុកដាក់ទៅនឹងវិធីដែលប្រកាសថ្នាក់នេះបានកើតឡើងនៅគូនេះ។ ភ្លាមបន្ទាប់ពីឈ្មោះថ្នាក់, តង្កៀបមុំបើកចំហដែលបានបង្ហាញលិខិតនោះវាធីជាប្រភេទនៃការធ្វើអោយមួយ, ដែលមាននៅក្នុងដំណើរការនៃការបង្កើតឧទាហរណ៍នៃថ្នាក់នេះនឹងត្រូវបានជំនួសដោយប្រភេទជាក់លាក់មួយ។ វាមើលទៅដូចខាងក្រោម: គូ <ចំនួនគត់> obj = ថ្មីគូ <ចំនួនគត់> () ។ វាគួរតែត្រូវបានកត់សម្គាល់ថាជំនួស T មានអាចបញ្ជាក់លិខិតណាមួយ, ប៉ុន្តែជាក្បួនប្រើក្រុមហ៊ុន T, V ឬអ៊ី
ចំណាំ: ការចាប់ផ្តើមជាមួយនឹងកំណែទីប្រាំបីនៃកោះជ្វាដែលបញ្ជាក់ប្រភេទគោលដៅនៅពេលដែលការប្រកាសតង្កៀបមុំសេចក្ដីយោងក្នុង constructor ដែលអាចទុកទទេ។ ដូច្នេះឧទាហរណ៍អាចត្រូវបានសរសេរដូចខាងលើ: គូ <ចំនួនគត់> obj = ថ្មីគូ <> () ។
នៅពេលដែលត្រូវបានប្រកាសថ្នាក់នៅក្នុងរបៀបមួយ, បន្ទាប់មកនៅក្នុងរាងកាយរបស់គាត់ជំនួសឱ្យប្រភេទជាក់លាក់នៃវាល, តំណភ្ជាប់, វត្ថុត្រឡប់ដោយវិធីសាស្រ្តដែលអ្នកអាចប្រើលិខិតនោះ។ ចាប់តាំងពីក្រុមហ៊ុន T នៅពេលបង្កើតវត្ថុថ្នាក់នេះត្រូវបានជំនួសដោយប្រភេទពិសេសមួយ, វាលដំបូងនិងលើកទីពីរនៅក្នុងករណីនេះនឹងមានប្រភេទគត់នោះទេ។
បន្ទាប់ពីការតក្កនៃអាគុយម៉ង់និង firstItem secondItem នេះសំដៅដល់ការបង្កើតសមរម្យផងដែរត្រូវតែមានប្រភេទចំនួនគត់ឬថ្នាក់រង។ ប្រសិនបើអ្នកព្យាយាមបញ្ជូនប្រភេទទិន្នន័យដែលខុសគ្នាពីអ្វីដែលបានបញ្ជាក់នៅពេលបង្កើតវត្ថុមួយចងក្រងនឹងមិនអនុញ្ញាតឱ្យមានកំហុសនេះ។ ដូច្នេះអ្នកបង្កើតអាគុយម៉ង់ពេលដែលវត្ថុមួយនឹងត្រូវដូចខាងក្រោម: គូ <ចំនួនគត់> obj = ថ្មីគូ <> (ចំនួនគត់ថ្មី (1) ចំនួនគត់ថ្មី (2)) ។ អនុវត្តដូចគ្នាទៅនិងវិធីសាស្ត្រអាគុយម៉ង់ setFirst setSecond ។ ហើយដូចដែលអ្នកប្រហែលជាទាយ, វិធីសាស្រ្ត getFirst getSecond ហើយនឹងត្រឡប់តម្លៃនៃប្រភេទចំនួនគត់។
ទូទៅដែលមានប៉ារ៉ាម៉ែត្រជាច្រើនប្រភេទថ្នាក់
នៅក្នុងថ្នាក់រៀនទូទៅអាចប្រកាសប៉ារ៉ាម៉ែត្រច្រើននៃប្រភេទដែលត្រូវបានកំណត់នៅក្នុងតង្កៀបមុំដោយសញ្ញាក្បៀស។ រចនាឡើងវិញដោយករណីថ្នាក់គូត្រូវបានបង្ហាញខាងក្រោម។
ដូចដែលអ្នកអាចឃើញនៅពេលដែលអ្នកបង្កើតវត្ថុរបស់ក្រុមនេះនៅក្នុងតង្កៀបមុំគួរបញ្ជាក់លេខដូចគ្នានៃប្រភេទជាប៉ារ៉ាម៉ែត្រ។ ប្រសិនបើអ្នកស៊ាំជាមួយនឹងប្រភេទនៃរចនាសម្ព័ន្ធទិន្នន័យជាផែនទីមួយនេះអ្នកអាចមើលឃើញថាវាប្រើគោលការណ៍ដូចគ្នា។ នៅទីនោះអាគុយម៉ង់ដំបូងបញ្ជាក់ប្រភេទនៃការសំខាន់និងលើកទីពីរ - ប្រភេទនៃតម្លៃ។ វាគួរតែត្រូវបានកត់សម្គាល់ថាប្រភេទនៃការបញ្ចូននៅពេលដែលអាគុយម៉ង់វត្ថុមួយដែលអាចត្រួតលើគ្នា។ ឧទាហរណ៍ការផ្សព្វផ្សាយពាណិជ្ជកម្មខាងក្រោមគូឧទាហរណ៍ថ្នាក់គឺត្រឹមត្រូវពិត: គូ <ខ្សែអក្សរ, ខ្សែអក្សរ> obj ។
លក្ខណៈពិសេសមួយចំនួននៃជំនាន់
មុនពេលបន្ថែមទៀត, វាគួរតែត្រូវបានកត់សម្គាល់ថាការចងក្រងជ្វាមិនបង្កើតកំណែផ្សេងគ្នានៃគូថ្នាក់។ ជាការពិតក្នុងដំណើរការនៃការចងក្រងជាប្រភេទទូទៅទាំងអស់បានពបានលុប។ ផ្ទុយទៅវិញអ្នកនាំយកប្រភេទសមរម្យ, ការបង្កើតជាកំណែពិសេសនៃថ្នាក់គូ។ ទោះយ៉ាងណានៅក្នុងកម្មវិធីនេះគឺមានតែមានតែមួយកំណែទូទៅនៃថ្នាក់។ ដំណើរការនេះត្រូវបានគេហៅថានៅក្នុង Java ប្រភេទការសំអាតទូទៅ។
ចំណាំជាចំណុចសំខាន់។ តំណភ្ជាប់ទៅនឹងកំណែផ្សេងគ្នានៃថ្នាក់ដូចគ្នាទូទៅ java ដែលមិនអាចចង្អុលទៅមួយនិងវត្ថុដូចគ្នា។ ដែលត្រូវបានឧបមាថាយើងមានតំណភ្ជាប់ពីរ: គូ <ចំនួនគត់> obj1 និងគូ <ទ្វេ> obj2 ។ ដូច្នេះនៅក្នុងបន្ទាត់ obj1 = obj2 កំហុស។ ទោះបីជាអថេរទាំងពីរគឺមាននៃប្រភេទគូ <ក្រុមហ៊ុន T> វត្ថុដែលពួកគេបានយោងគឺខុសគ្នា។ នេះជាគំរូដំបូងនៃប្រភេទនៃការសន្តិសុខនៅក្នុងកោះជ្វាទូទៅ។
ការរឹតបន្តឹងលើថ្នាក់ទូទៅ
វាជាការសំខាន់ដើម្បីដឹងថាជាទូទៅអាចត្រូវបានអនុវត្តតែមួយគត់ដើម្បីយោងប្រភេទនោះគឺដើម្បីហុចប៉ារ៉ាម៉ែត្រអាគុយម៉ង់ Java ថ្នាក់ទូទៅត្រូវតែប្រភេទថ្នាក់។ ប្រភេទទាំងនេះមានលក្ខណៈសាមញ្ញដូចជា, ឧ, ពីរដងឬយូរ, មិនអាចត្រូវបានផ្ទេរ។ នៅក្នុងពាក្យផ្សេងទៀតដែលជាសេចក្តីប្រកាសថ្នាក់គូបន្ទាត់ដូចខាងក្រោមមិនត្រូវបានអនុញ្ញាត: គូ
ដែនកំណត់ធ្ងន់ធ្ងរមួយទៀតគឺការអសមត្ថភាពក្នុងការបង្កើតវត្ថុរបស់ប្រភេទប៉ារ៉ាម៉ែត្រមួយ។ ឧទាហរណ៍បន្ទាត់ដូចខាងក្រោមនឹងបណ្តាលឱ្យមានកំហុសចងក្រងជា: ក្រុមហ៊ុន T ដំបូង = T មានថ្មី () ។ នេះគឺជាការជាក់ស្តែងនោះទេព្រោះអ្នកមិនដឹងជាមុនថាតើអាគុយម៉ង់អនុម័តថ្នាក់ពេញលេញឬអរូបីឬចំណុចប្រទាក់សូម្បីតែ។ ដូចគ្នានេះទៅសម្រាប់ការបង្កើតអារេ។
ប្រភេទដែលមានកំណត់
ជាញឹកញាប់មានស្ថានភាពនៅពេលដែលវាគឺជាការចាំបាច់ដើម្បីកំណត់បញ្ជីនៃប្រភេទដែលអាចត្រូវបានអនុម័តថាជាអាគុយម៉ង់ Java ថ្នាក់ទូទៅទៅជាមួយផង។ សូមឱ្យយើងសន្មត់ថានៅក្នុងថ្នាក់របស់យើងយើងគូដើម្បីដាក់តែចង់បានតម្លៃលេខសម្រាប់ប្រតិបត្តិការគណិតវិទ្យាបន្ថែមទៀតនៅលើពួកវា។ ដើម្បីធ្វើដូចនេះយើងត្រូវការដើម្បីកំណត់ដែនកំណត់ខាងលើនៃប្រភេទប៉ារ៉ាម៉ែត្រ។ វាត្រូវបានដឹងថាដោយមធ្យោបាយនៃការផ្សព្វផ្សាយពាណិជ្ជកម្ម superclass បានទទួលឥទ្ធិពលអាគុយម៉ង់ទាំងអស់ដែលបានអនុម័តនៅក្នុងតង្កៀបមុំ។ វានឹងមើលទៅដូចខាងក្រោម: ថ្នាក់គូ
នេះគឺជាការទទួលស្វាគមន៍ធម្មតា។ ការរឹតបន្តឹងបែបនេះជាញឹកញាប់ត្រូវបានប្រើដើម្បីផ្ដល់ភាពឆបគ្នានៅក្នុងការប៉ារ៉ាម៉ែត្រប្រភេទមួយនិងថ្នាក់ដូចគ្នា។ សូមពិចារណាឧទាហរណ៍នៅក្នុងថ្នាក់គូរបស់យើង: ថ្នាក់គូ <ក្រុមហ៊ុន T, T មានរ V ពង្រីក> ។ នៅទីនេះយើងបានប្រាប់ថាប្រភេទក្រុមហ៊ុន T ចងក្រងអាចត្រូវបានបំពានការនេះហើយត្រូវតែជាអក្សរ V ប្រភេទទាំងប្រភេទ T មានឬអនុថ្នាក់របស់ខ្លួន។
limiting នេះ "បាត" គឺពិតជាវិធីដូចគ្នា, ប៉ុន្តែជំនួសឱ្យពាក្យដែលបានពង្រីកការប្រកបពាក្យទំនើប។ ថាថ្នាក់ត្រូវបានចាត់ថ្នាក់គូ
វិធីសាស្រ្តទូទៅនិងផ្នែកផលិតជ្វា
នៅក្នុង Java, ជាទូទៅអាចត្រូវបានអនុវត្តមិនត្រឹមតែថ្នាក់នោះទេប៉ុន្តែថែមទាំងវិធីសាស្រ្ត។ ឧទាហរណ៍វិធីសាស្រ្តទូទៅមួយអាចត្រូវបានប្រកាសនៅក្នុងថ្នាក់រៀនទៀងទាត់។
ដូចដែលគេឃើញនៅក្នុងតួលេខខាងលើនេះ, វិធីសាស្រ្តផ្សព្វផ្សាយពាណិជ្ជកម្មទូគឺមិនមានកិច្ចព្រមព្រៀងធំ។ គ្រប់គ្រាន់មុនពេលត្រឡប់មកវិញនៃប្រភេទវិធីសាស្រ្តមួយដើម្បីដាក់តង្កៀបមុំនិងបញ្ជាក់ប៉ារ៉ាម៉ែត្រប្រភេទនៅក្នុងពួកគេ។
ប្រសិនបើមានអ្វីគ្រប់យ៉ាងត្រូវបានធ្វើដូចគ្នានេះដែរដើម្បីបង្កើតនេះ:
តង្កៀបមុំក្នុងករណីនេះបានដាក់មុនពេលអ្នករចនាម៉ូដឈ្មោះរបស់នោះដោយសារតែគាត់មានតម្លៃត្រឡប់មកវិញនោះទេ។ លទ្ធផលនៃកម្មវិធីទាំងពីរនេះនឹងត្រូវបាន:
ចំនួនគត់
ខ្សែអក្សរ
Similar articles
Trending Now