Негизги айырма – Суперкласс менен субкласс
Объектке багытталган программалоодо (OOP) система объекттердин жардамы менен моделделет. Бул объекттер класстын жардамы менен түзүлөт. Класс - бул объектти түзүү үчүн план же сүрөттөмө. Объектти түзүү объектти инстанциялоо катары да белгилүү. Ар бир объект башка объектилер менен байланышууда. Объектке багытталган программалоонун жардамы менен программа же программа түзүлүшү мүмкүн. Мурас - OOP негизги түшүнүк. Бул кодду кайра колдонуу мүмкүнчүлүгүн жакшыртат. Программаны башынан ишке ашыруунун ордуна, ал жаңы класска мурунтан эле бар класстын касиеттерин жана ыкмаларын мурастоого мүмкүндүк берет. Бул программаны башкарууга жардам берет. Superclass жана Subclass мураска байланыштуу эки термин. Бул макалада Superclass жана Subclass ортосундагы айырма талкууланат. Суперкласс менен субкласстын ортосундагы негизги айырма: Суперкласс - бул жаңы класстар алынган учурдагы класс, ал эми субкласс - Суперкласстын касиеттерин жана ыкмаларын мурастаган жаңы класс.
Суперкласс деген эмне?
Мураста, жаңы класстар алынган учурдагы класс Суперкласс деп аталат. Ал ата-эне класс же негизги класс катары да белгилүү.
Мурастын ар кандай түрлөрү бар. Төмөнкү мисалдарды колдонуу менен сүрөттөлгөн. A B жана C класстары катары карагыла.
01-сүрөт: Мурастык түрлөрү
02-сүрөт: Гибриддик мурас
Жогорудагы диаграммаларга ылайык, Суперкласстар мурастын ар бир түрүнө жараша өзгөрөт. Бир деңгээлдеги мурастоодо А суперкласс болуп саналат. Көп деңгээлдүү мураста A - В үчүн суперкласс, ал эми В - С үчүн суперкласс. Иерархиялык мураста A - В жана С үчүн суперкласс. Бир нече мураста A жана В экөө тең C үчүн суперкласстар.
Гибриддик мурас – бул көп деңгээлдүү жана көп мурастын айкалышы. Сол тараптагы диаграммада A - B, C жана B үчүн суперкласс, C - D үчүн суперкласстар. Оң жактагы диаграммада, A - B жана B үчүн суперкласстар, D С үчүн суперкласстар.
Төмөнкү Java тилинде жазылган программаны караңыз.
03-сүрөт: Java'дагы мурастоо программасы
Жогорудагы программага ылайык, А классында sum() жана sub() ыкмалары бар. B классында multiply() ыкмасы бар. В классы А классын кеңейтет. Демек, А классынын касиеттери жана методдору В классы үчүн жеткиликтүү. Демек, А классы суперкласс болуп саналат. Объектти түзүү үчүн В классынын шилтеме түрү алынат. Ошентип, sum(), sub() жана multiply() сыяктуу бардык методдор объект тарабынан жеткиликтүү. Эгерде Superclass шилтеме түрү объектти түзүү үчүн колдонулса, В классынын мүчөлөрү жеткиликтүү болбойт. мис. A obj=new B(); Ошондуктан, Superclass шилтемеси multiply() ыкмасын чакыра албайт, анткени ал ыкма B классына таандык.
Кошумча класс деген эмне?
Жогорудагы диаграммаларга ылайык, Подкласстар мурастын ар бир түрүнө жараша өзгөрөт. Жалгыз мурастоодо В субкласс болуп саналат. Көп деңгээлдүү тукум куучулукта B - А субклассы жана С - В подклассы. Иерархиялык тукум куучулукта B жана C А классчалары. Бир нече мурастоодо C - А жана В үчүн субкласс.
Гибриддик мураста сол жактагы диаграмма, В жана С Aнын подкласстары. D B жана С подкласстары. Оң жактагы диаграммада B А үчүн подкласс. С подкласс B жана D.
Жогорудагы Мурастоо программасына ылайык, В классы А классын кеңейтүүдө. Демек, А классынын бардык касиеттери жана ыкмалары В классы тарабынан жеткиликтүү. В классы А классынан мураска алынган жаңы класс. подкласс. Ал ошондой эле бала класс же туунду класс катары белгилүү. B классында көбөйтүү () ыкмасы бар жана мурастоо аркылуу А классынын sum() жана sub() ыкмаларына да кире алат.
Суперкласс менен субкласстын кандай окшоштугу бар?
Экөө тең мураска байланыштуу
Суперкласс менен субкласстын ортосунда кандай айырма бар?
Суперкласс жана субкласс |
|
Мурас кылууну ишке ашырууда, жаңы класстар алынган учурдагы класс Суперкласс болуп саналат. | Мурас кылууну ишке ашырууда Суперкласстын касиеттерин жана ыкмаларын мурастаган класс подкласс болуп саналат. |
Синонимдер | |
Суперкласс базалык класс, ата-эне класс катары белгилүү. | Кошумча класс туунду класс, бала класс катары белгилүү. |
Функционалдык | |
Суперкласс субкласстын касиеттерин жана ыкмаларын колдоно албайт. | Кошумча класс Суперкласстын касиеттерин жана ыкмаларын колдоно алат. |
Бир-деңгээлдүү мурас | |
Бир суперкласс бар. | Бир подкласс бар. |
Иерархиялык мурас | |
Бир суперкласс бар | Көптөгөн субкласстар бар. |
Бир нече мурас | |
Суперкласстар көп. | Бир подкласс бар. |
Кыскача – Суперкласска каршы субкласс
Мурас - бул OOP түшүнүгү. Бул жаңы класска кирүү үчүн учурдагы класстын касиеттерин жана ыкмаларын колдонууга мүмкүндүк берет. Туунду класс - бул Суперкласс, ал эми туунду класс - подкласс. Суперкласс менен субкласстын ортосундагы айырмачылык Superclass жаңы класстар алынган учурдагы класс, ал эми субкласс - бул Суперкласстын касиеттерин жана ыкмаларын мурастаган жаңы класс.
PDF Superclass vs Subclass жүктөп алыңыз
Сиз бул макаланын PDF версиясын жүктөп алып, шилтеме эскертүүсүнө ылайык оффлайн максаттарында колдоно аласыз. Сураныч, PDF версиясын бул жерден жүктөп алыңыз Суперкласс менен субкласстын айырмасы