Абстракттуу класс жана мурас
Абстракттуу класс жана Мурас - бул Java сыяктуу көптөгөн объектиге багытталган программалоо тилдеринде табылган объектиге багытталган эки маанилүү түшүнүк. Абстракттуу классты кадимки (конкреттүү) класстын абстракттуу версиясы катары кароого болот, ал эми мурастоо жаңы класстарга башка класстарды кеңейтүүгө мүмкүндүк берет. Абстракттуу класс – бул инициализациялоого мүмкүн болбогон, бирок кеңейтүүгө мүмкүн болгон класс. Демек, абстракттуу класстар программалоо тили мурасты колдосо гана мааниге ээ. Java тилинде абстракттуу класстар Abstract ачкыч сөзү менен жарыяланат, ал эми Extends ачкыч сөзү (супер) класстан мурастоо үчүн колдонулат.
Абстракттуу класс деген эмне?
Адатта, Абстракттуу класстар, ошондой эле Абстракттуу Негизги Класстар (ABC) деп аталат, инстанцияланбайт (ал класстын үлгүсүн түзүү мүмкүн эмес). Демек, абстракттуу класстар программалоо тили мурасты колдогондо гана мааниге ээ (классты кеңейтүүдөн субкласстарды түзүү мүмкүнчүлүгү). Абстракттуу класстар, адатта, абстракттуу түшүнүктү же жарым-жартылай ишке ашырылган объектти билдирет. Демек, абстракттуу класстар ата-эне класстардын ролун аткарат, алардан бала класстар келип чыгат, андыктан бала класс ата-эне классынын толук эмес өзгөчөлүктөрүн бөлүшөт жана аларды толуктоо үчүн функцияларды кошууга болот.
Абстракттуу класстар абстракттуу методдорду камтышы мүмкүн. Абстракттуу классты кеңейтүүчү подкласстар бул (мурас болгон) абстракттуу методдорду ишке ашыра алат. Эгерде бала класс ушундай абстракттуу ыкмалардын баарын ишке ашырса, бул конкреттүү класс. Бирок андай болбосо, бала класс да абстракттуу класска айланат. Мунун баары эмнени билдирет, программист классты абстракт катары көрсөткөндө, ал класс толук эмес болуп калат жана анын мурастоочу субкласстар тарабынан толтурулушу керек болгон элементтери болот деп жатат. Бул эки программисттин ортосунда келишим түзүүнүн жакшы жолу, бул программалык камсыздоону иштеп чыгуудагы милдеттерди жөнөкөйлөтөт. Мурастоо үчүн код жазган программист ыкма аныктамаларын так аткарышы керек (бирок, албетте, өзүнүн ишке ашыруусу болушу мүмкүн).
Мурас деген эмне?
Мурас - бул объектке багытталган концепция, ал жаңы класстарга башка класстарды кеңейтүүгө мүмкүндүк берет. Extends ачкыч сөзү Java программалоо тилинде мурас түшүнүгүн ишке ашыруу үчүн колдонулат. Мурас, негизинен, жаңы аныкталган класс менен болгон класстын касиеттерин жана жүрүм-турумун кеңейтүүгө мүмкүндүк берүү менен кодду кайра колдонууну камсыз кылат. Жаңы класс (же туунду класс) супер классты (же ата-эне классты) кеңейткенде, ал субкласс супер класстын бардык атрибуттарын жана ыкмаларын мурастайт. Субкласс ата-эне класстан мураска калган жүрүм-турумду (методдорго жаңы же кеңейтилген функцияларды камсыз кылуу) ыктыярдуу түрдө жокко чыгара алат. Адатта, субкласс бир нече супер класстарды кеңейте албайт (мисалы, Javaда). Ошондуктан, бир нече мурастоо үчүн кеңейтүүлөрдү колдоно албайсыз. Бир нече мураска ээ болуу үчүн интерфейстерди колдонушуңуз керек.
Абстракттуу класс менен мурастын ортосунда кандай айырма бар?
Абстракттуу класстар, адатта, абстракттуу түшүнүктү же жарым-жартылай же ишке ашырылбаган объектти билдирет. Мурас жаңы класстарга башка класстарды кеңейтүүгө мүмкүндүк берет. Абстрактуу класстарды түзүү мүмкүн болбогондуктан, абстракттуу класстарды колдонуу үчүн мурас түшүнүгүн колдонушуңуз керек. Болбосо, абстракттуу класстын пайдасы жок. Абстракттуу класстар абстракттуу методдорду камтышы мүмкүн жана класс кеңейтилгенде бардык методдор (абстрактуу жана конкреттүү) тукум кууп өтөт. Мурас алган класс каалаган же бардык ыкмаларды ишке ашыра алат. Эгерде бардык абстракттуу методдор ишке ашырылбаса, анда ал класс да абстракттуу класска айланат. Класс бирден ашык абстракттуу классты мурастай албайт (бул абстракттуу класстардын сапаты эмес, тескерисинче, мурастын чектөөсү).
Окшош посттор:
Абстракттуу класс менен конкреттүү класстын айырмасы
Виртуалдык менен абстракттын ортосундагы айырма
Абстракттуу класс менен интерфейстин айырмасы
Ишке ашыруунун жана кеңейтүүнүн ортосундагы айырма
График менен дарактын ортосундагы айырма
Төмөндө берилген: Программалоо Тегдери: ABC, абстракттуу, абстракттуу базалык класстар, абстракттуу класс, абстракттуу класстар, абстракттуу ачкыч сөз, абстракттуу методдор, конкреттүү класс, кеңейтет ачкыч сөз, мурас, мурас класс, мурасталган класс, Java, көп мурас, объектке багытталган түшүнүктөр, кадимки класс, супер класс
Автор жөнүндө: Indika
Indika, BSc. Eng, MSECE Компьютердик инженерия, PhD. Информатика, ассистент-профессор жана биоинформатика, эсептөө биологиясы жана биомедициналык табигый тилди иштетүү тармактарында илимий кызыкчылыктары бар.
Комментарийлер
-
Джейсон дейт
2017-жылдын 30-августу, 13:25
Айырманы түшүндүргөнүңүз үчүн рахмат. Бардык суроолорум муну менен чечилди.
Жооп
-
Aus мындай дейт:
10-май, 2019-жыл, 15:04
Интернеттеги эң мыкты жооп, Мугалим эч нерсени түшүндүрбөйт жана мааниси жок, моно обон mf. Сиз түшүнүктөрдү ушинтип түшүндүрөсүз.
Жооп
Жооп калтыр Жоопту жокко чыгаруу
Электрондук почта дарегиңиз жарыяланбайт. Милдеттүү талаалардеп белгиленген
Комментарий
Аты
Электрондук почта
Вебсайт
Танымал посттор
Коронавирус менен сууктун белгилеринин айырмасы
Коронавирус менен SARSтин айырмасы
Коронавирус менен грипптин айырмасы
Коронавирус менен Ковид 19 ортосундагы айырма
Сизге жагат
Сибирский хаски менен Маламуттун ортосундагы айырма
Эсептөө AB жана BC ортосундагы айырма
Кош адистик менен кош дипломдун ортосундагы айырма
Ачык көйнөктөр жана кара көйнөктөр үчүн трансфер кагазынын ортосундагы айырма
ортосундагы айырма