Абстракттуу класс менен мурастын ортосундагы айырма

Мазмуну:

Абстракттуу класс менен мурастын ортосундагы айырма
Абстракттуу класс менен мурастын ортосундагы айырма

Video: Абстракттуу класс менен мурастын ортосундагы айырма

Video: Абстракттуу класс менен мурастын ортосундагы айырма
Video: Кыргыз тили: аналогиялар / Окшоштуктар 2024, Декабрь
Anonim

Абстракттуу класс жана мурас

Абстракттуу класс жана Мурас - бул Java сыяктуу көптөгөн объектиге багытталган программалоо тилдеринде табылган объектиге багытталган эки маанилүү түшүнүк. Абстракттуу классты кадимки (конкреттүү) класстын абстракттуу версиясы катары кароого болот, ал эми мурастоо жаңы класстарга башка класстарды кеңейтүүгө мүмкүндүк берет. Абстракттуу класс – бул инициализациялоого мүмкүн болбогон, бирок кеңейтүүгө мүмкүн болгон класс. Демек, абстракттуу класстар программалоо тили мурасты колдосо гана мааниге ээ. Java тилинде абстракттуу класстар Abstract ачкыч сөзү менен жарыяланат, ал эми Extends ачкыч сөзү (супер) класстан мурастоо үчүн колдонулат.

Абстракттуу класс деген эмне?

Адатта, Абстракттуу класстар, ошондой эле Абстракттуу Негизги Класстар (ABC) деп аталат, инстанцияланбайт (ал класстын үлгүсүн түзүү мүмкүн эмес). Демек, абстракттуу класстар программалоо тили мурасты колдогондо гана мааниге ээ (классты кеңейтүүдөн субкласстарды түзүү мүмкүнчүлүгү). Абстракттуу класстар, адатта, абстракттуу түшүнүктү же жарым-жартылай ишке ашырылган объектти билдирет. Демек, абстракттуу класстар ата-эне класстардын ролун аткарат, алардан бала класстар келип чыгат, андыктан бала класс ата-эне классынын толук эмес өзгөчөлүктөрүн бөлүшөт жана аларды толуктоо үчүн функцияларды кошууга болот.

Абстракттуу класстар абстракттуу методдорду камтышы мүмкүн. Абстракттуу классты кеңейтүүчү подкласстар бул (мурас болгон) абстракттуу методдорду ишке ашыра алат. Эгерде бала класс ушундай абстракттуу ыкмалардын баарын ишке ашырса, бул конкреттүү класс. Бирок андай болбосо, бала класс да абстракттуу класска айланат. Мунун баары эмнени билдирет, программист классты абстракт катары көрсөткөндө, ал класс толук эмес болуп калат жана анын мурастоочу субкласстар тарабынан толтурулушу керек болгон элементтери болот деп жатат. Бул эки программисттин ортосунда келишим түзүүнүн жакшы жолу, бул программалык камсыздоону иштеп чыгуудагы милдеттерди жөнөкөйлөтөт. Мурастоо үчүн код жазган программист ыкма аныктамаларын так аткарышы керек (бирок, албетте, өзүнүн ишке ашыруусу болушу мүмкүн).

Мурас деген эмне?

Мурас - бул объектке багытталган концепция, ал жаңы класстарга башка класстарды кеңейтүүгө мүмкүндүк берет. Extends ачкыч сөзү Java программалоо тилинде мурас түшүнүгүн ишке ашыруу үчүн колдонулат. Мурас, негизинен, жаңы аныкталган класс менен болгон класстын касиеттерин жана жүрүм-турумун кеңейтүүгө мүмкүндүк берүү менен кодду кайра колдонууну камсыз кылат. Жаңы класс (же туунду класс) супер классты (же ата-эне классты) кеңейткенде, ал субкласс супер класстын бардык атрибуттарын жана ыкмаларын мурастайт. Субкласс ата-эне класстан мураска калган жүрүм-турумду (методдорго жаңы же кеңейтилген функцияларды камсыз кылуу) ыктыярдуу түрдө жокко чыгара алат. Адатта, субкласс бир нече супер класстарды кеңейте албайт (мисалы, Javaда). Ошондуктан, бир нече мурастоо үчүн кеңейтүүлөрдү колдоно албайсыз. Бир нече мураска ээ болуу үчүн интерфейстерди колдонушуңуз керек.

Абстракттуу класс менен мурастын ортосунда кандай айырма бар?

Абстракттуу класстар, адатта, абстракттуу түшүнүктү же жарым-жартылай же ишке ашырылбаган объектти билдирет. Мурас жаңы класстарга башка класстарды кеңейтүүгө мүмкүндүк берет. Абстрактуу класстарды түзүү мүмкүн болбогондуктан, абстракттуу класстарды колдонуу үчүн мурас түшүнүгүн колдонушуңуз керек. Болбосо, абстракттуу класстын пайдасы жок. Абстракттуу класстар абстракттуу методдорду камтышы мүмкүн жана класс кеңейтилгенде бардык методдор (абстрактуу жана конкреттүү) тукум кууп өтөт. Мурас алган класс каалаган же бардык ыкмаларды ишке ашыра алат. Эгерде бардык абстракттуу методдор ишке ашырылбаса, анда ал класс да абстракттуу класска айланат. Класс бирден ашык абстракттуу классты мурастай албайт (бул абстракттуу класстардын сапаты эмес, тескерисинче, мурастын чектөөсү).

Окшош посттор:

Image
Image
Image
Image

Абстракттуу класс менен конкреттүү класстын айырмасы

Image
Image
Image
Image

Виртуалдык менен абстракттын ортосундагы айырма

Image
Image
Image
Image

Абстракттуу класс менен интерфейстин айырмасы

Image
Image
Image
Image

Ишке ашыруунун жана кеңейтүүнүн ортосундагы айырма

Image
Image
Image
Image

График менен дарактын ортосундагы айырма

Төмөндө берилген: Программалоо Тегдери: ABC, абстракттуу, абстракттуу базалык класстар, абстракттуу класс, абстракттуу класстар, абстракттуу ачкыч сөз, абстракттуу методдор, конкреттүү класс, кеңейтет ачкыч сөз, мурас, мурас класс, мурасталган класс, Java, көп мурас, объектке багытталган түшүнүктөр, кадимки класс, супер класс

Сүрөт
Сүрөт

Автор жөнүндө: Indika

Indika, BSc. Eng, MSECE Компьютердик инженерия, PhD. Информатика, ассистент-профессор жана биоинформатика, эсептөө биологиясы жана биомедициналык табигый тилди иштетүү тармактарында илимий кызыкчылыктары бар.

Комментарийлер

  1. Сүрөт
    Сүрөт

    Джейсон дейт

    2017-жылдын 30-августу, 13:25

    Айырманы түшүндүргөнүңүз үчүн рахмат. Бардык суроолорум муну менен чечилди.

    Жооп

  2. Сүрөт
    Сүрөт

    Aus мындай дейт:

    10-май, 2019-жыл, 15:04

    Интернеттеги эң мыкты жооп, Мугалим эч нерсени түшүндүрбөйт жана мааниси жок, моно обон mf. Сиз түшүнүктөрдү ушинтип түшүндүрөсүз.

    Жооп

Жооп калтыр Жоопту жокко чыгаруу

Электрондук почта дарегиңиз жарыяланбайт. Милдеттүү талаалардеп белгиленген

Комментарий

Аты

Электрондук почта

Вебсайт

Макаланы суроо
Макаланы суроо
Макаланы суроо
Макаланы суроо

Танымал посттор

Коронавирус менен сууктун симптомдорунун ортосундагы айырма
Коронавирус менен сууктун симптомдорунун ортосундагы айырма

Коронавирус менен сууктун белгилеринин айырмасы

Coronavirus жана SARS ортосундагы айырма
Coronavirus жана SARS ортосундагы айырма

Коронавирус менен SARSтин айырмасы

Коронавирус менен Грипптин ортосундагы айырма
Коронавирус менен Грипптин ортосундагы айырма

Коронавирус менен грипптин айырмасы

Коронавирус менен Ковид 19 ортосундагы айырма
Коронавирус менен Ковид 19 ортосундагы айырма

Коронавирус менен Ковид 19 ортосундагы айырма

Сизге жагат

Сибирский хаски менен Маламуттун ортосундагы айырма

Эсептөө AB жана BC ортосундагы айырма

Кош адистик менен кош дипломдун ортосундагы айырма

Ачык көйнөктөр жана кара көйнөктөр үчүн трансфер кагазынын ортосундагы айырма

ортосундагы айырма

Сунушталууда: