Негизги айырмасы – Java'да ашыкча жүктөө жана жокко чыгаруу
Объектке багытталган программалоо (OOP) программалык камсыздоону иштеп чыгуудагы негизги парадигма. Бул класстарды жана объекттерди колдонуу менен программаны долбоорлоо методологиясы. Класс - бул план. Бул объектте эмне камтышы керектигин сүрөттөйт. Ал касиеттерди же атрибуттарды жана объект турушу керек болгон ыкмаларды аныктайт. Демек, объект класстын бир мисалы болуп саналат. Бул объекттер башка объектилер менен байланышат. OOP негизги түшүнүктөрдүн бири Полиморфизм болуп саналат. Бул объекттин бир нече жол менен жүрүм-туруму. Полиморфизм ашыкча жүктөө жана жокко чыгаруу болуп эки бөлүккө бөлүнөт. Бул макалада Java бул экөөнүн ортосундагы айырма талкууланат. Java'да ашыкча жүктөө менен жокко чыгаруунун ортосундагы негизги айырма, Ашыкча жүктөө ар кандай ишке ашыруулар менен бир эле аталыштагы бир нече ыкмаларды түзүү жөндөмү жана Overriding - бул суперкласста мурунтан эле бар субкласс ыкмасы үчүн ишке ашырууну камсыз кылуу.
Java'да ашыкча жүктөө деген эмне?
Ашыкча жүктөө – бул бир эле аталыштагы бир нече ыкмаларды түрдүү ишке ашыруу менен түзүү мүмкүнчүлүгү. Төмөнкү Java кодун караңыз.
01-сүрөт: Ар түрдүү аргументтер менен ашыкча жүктөөнү түшүндүргөн Java программасы
Жогорудагы программага ылайык, А классы бирдей аталыштагы эки ыкманы камтыйт. Биринчи сумма ыкмасы эки параметрге ээ. Экинчи сумма ыкмасы үч параметрге ээ. А тибиндеги объектти түзүп, sum(2, 3) чакырганда, ал sum(int a, int b) болгон эки параметр менен sum ыкмасын чакырат жана 5ти кайтарат., 3, 4), ал үч параметр менен башка сумма ыкмасын чакырат, бул сумма (int a, int b, int c) жана 9 кайтарат.
Усулдун аталышы бирдей, бирок параметрлердин саны ар башка. Бир эле объекттин өзүн башкача алып жүргөнүн байкоого болот. Бул түшүнүк ашыкча жүктөө деп аталат. Ал ошондой эле Static Binding же Compiles Time Polymorphism деп аталат.
Дайындардын ар кандай түрлөрү менен ашыкча жүктөлүшү мүмкүн. Төмөнкү Java кодун караңыз.
02-сүрөт: Ар кандай аргументтердин саны менен ашыкча жүктөөнү түшүндүргөн Java программасы
Жогорудагы программага ылайык, А классы бирдей аталыштагы эки методдон турат. sum(int a, int b) ыкмасы эки бүтүн санды алат. Сумма(кош кош б) эки кош маанини алат. А тибиндеги объектти түзүүдө жана sum(2, 3) деп чакырганда, ал sum(int a, int b) деп чакырат жана 5 маанисин кайтарат. sum(3.4, 5.6) чакырганда ал sum(double double) чакырат. б) жана 9.0 маанисин кайтарыңыз. Бул мисалда, методдор бир эле аталышка ээ, бирок өзгөрмөлөрдүн башка түрү. Бул да ашыкча жүктөлүүдө.
Java'да жокко чыгаруу деген эмне?
Javaда мурунтан эле бар класстар менен субкласстарды курууга болот. Жаңы классты башынан түзүүнүн ордуна, буга чейин бар класстын касиеттерин жана ыкмаларын колдонууга болот. Учурдагы класс суперкласс, ал эми туунду класс субкласс болуп саналат. Субкласс буга чейин суперкласста болгон ыкманы ишке ашырууну камсыз кылганда, ал жокко чыгаруу деп аталат. Төмөнкү Java программасын караңыз.
03-сүрөт: жокко чыгаруу үчүн Java программасы
Жогорудагы программага ылайык, А классында дисплей ыкмасы бар (). В классы А классынан тарайт, ошондуктан А классынын касиеттерине жана ыкмаларына В классы жеткиликтүү. B классында белгилүү бир ишке ашыруу менен display() ыкмасы бар. А тибиндеги объектти түзүп, дисплей ыкмасын чакырганда, ал В натыйжасын берет. А классынын дисплей ыкмасы болсо да, В классынын дисплей ыкмасы жокко чыгарылат. Кошумча класс суперкласста мурунтан эле бар ыкманы ишке ашырууда.
Бул түшүнүк полиморфизмдин бир түрү жана жокко чыгаруу катары белгилүү. Ал кеч байланыш, динамикалык байланыш, аткаруу убагы полиморфизми деп да аталат.
Жавада ашыкча жүктөө жана жокко чыгаруунун кандай окшоштуктары бар?
- Экөө тең полиморфизмдин түрү.
- Ашыкча жүктөөдө жана жокко чыгарууда ыкмалар бирдей аталышка ээ.
Java'да ашыкча жүктөө менен жокко чыгаруунун ортосунда кандай айырма бар?
Ашыкча жүктөө жана Javaда жокко чыгаруу |
|
Java'да ашыкча жүктөө - бул ар кандай ишке ашыруулар менен бир эле аталыштагы бир нече ыкмаларды түзүү мүмкүнчүлүгү. | Java'да жокко чыгаруу суперкласста мурунтан эле бар метод үчүн субкласс ыкмасына конкреттүү ишке ашырууну камсыз кылууда. |
Параметрлер | |
Ашыкча жүктөөдө методдор бир эле аталышка ээ, бирок параметрлердин саны башка же башка типтеги параметрлер. | Белгиленгенде, методдор бирдей атка ээ жана параметрлери бирдей болушу керек. |
Темалар | |
Ашыкча жүктөө класста болот. | Үчүн алуу мурас мамилеси бар эки класстын ичинде болот. |
Синонимдер | |
Ашыкча жүктөө компиляцияланган убакыт полиморфизми деп аталат. | Өткөрүп коюу иштөө убактысынын полиморфизми деп аталат. |
Корытынды – Java'да ашыкча жүктөө жана жокко чыгаруу
Полиморфизм объектиге багытталган программалоодогу негизги түшүнүк. Бул объекттин бир нече жол менен жүрүш-турушун камсыз кылат. Бул ашыкча жүктөө же жокко чыгаруу болушу мүмкүн. Ашыкча жүктөө компиляция убактысынын полиморфизми, ал эми жокко чыгаруу - иштөө убактысынын полиморфизми. Алар программалык камсыздоону иштеп чыгууда пайдалуу. Ашыкча жүктөө менен ашыкча жүктөөнүн ортосундагы айырмачылык, Ашыкча жүктөө ар кандай ишке ашыруулар менен бир эле аталыштагы бир нече ыкмаларды түзүү жөндөмдүүлүгү жана Overriding суперкласста мурунтан эле бар метод үчүн субкласс методунда белгилүү бир ишке ашырууну камсыз кылат. Java'да ашыкча жүктөөнү да, жокко чыгарууну да ишке ашырууга болот.
PDF ашыкча жүктөө жана Java'да жокко чыгарууну жүктөп алыңыз
Сиз бул макаланын PDF версиясын жүктөп алып, шилтеме эскертүүсүнө ылайык оффлайн максаттарында колдоно аласыз. Сураныч, PDF версиясын бул жерден жүктөп алыңыз Java'да ашыкча жүктөө жана жокко чыгаруунун айырмасы