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

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

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

Video: Абстракттуу класс менен конкреттүү класстын айырмасы
Video: 5-класс | Математика | Киреше, чыгаша, пайданы эсептөө 2024, Декабрь
Anonim

Абстракттуу класс жана бетон класс

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

Бетон классы деген эмне?

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

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

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

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

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

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

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