абстракттуу база класстар бар, эмне жөнүндө ойлонуп, программалоонун кандайдыр бир аз билими бар адам. Алардын максаты эмне? абстрактуу тобуна кантип түзүү керек? Алар иш жүзүндө сунуш кандай артыкчылыктары бар? Эмне үчүн алар программа керек жана аларды ишке ашыруу боюнча кээ бир өзгөчөлүктөрдү эске алышы керек?
абстракттуу класстар
Ошентип, анын негизинде программалоо деп аталат бирдиги кодексине объектилерге түзүү мүмкүн эмес. Бул укук мураскерлеринин бул класс абстрактуу болушу мүмкүн эмес экендигин белгилей кетүү керек. Ошондуктан, алардын негизинде объектилерин түзүү толук мүмкүн. Биз Java мисалын карап көрөлү, анда биз конструкторлор класс А. Бирок аларды пайдаланууга сүрөттөп бере алат моделин куруу, биз эмес. Бул кырдаалдан чыгуунун жолу каалаган өзгөрмө шилтеме жарыялоо болуп саналат. Ал эми так бул класстагы А. объектисине көрсөтүп Бул эмне болорун абдан аныкталышы керек? Бул бизге алып жардам берет. Ал ата-энелер тобу дайыма урпагы көп түрдүү болуп эсептелет эске тутуу зарыл. көп программалоо тилинде жазуусу үчүн колдонулган. Мындай механизм алдында ишеним жок болсо, анда ачык объектисин маалымат керек.
абстракттуу ыкмалары
Алар кандай болгон? Кыскача чакырык класста ишке эмес, ал кабыл алынат. Ошентип, төмөнкү жана кашаалар (тизмелери, анда жүйөлөрдү да колдонгон) сымал ачылышы (жайгашкан бөгөттөөлөр сүрөттөлүшү ыкмасы үйлөдүк), ошондой эле бир гана коддон бербейт. Демек, бул учурда, ал эмне жөнүндө эч кандай маалымат жок. Бул жерде суроо болушу мүмкүн: "Бул ишке ашыруу эч кандай ыкмасы?" Анын үстүнө, ал колдонулушу мүмкүн эмес! Албетте, ал сүрөттөлгөн, сабакта, бул мүмкүн эмес. Биз урпагы көз карашынан жагдайды карап көрөлү болсо, ал деп атоого болот. Ал эми бул класстын жеткиликтүү белгилүү бир түрү боюнча иш алып барат.
Өзгөчөлүктөрү абстрактуу ыкмалары
аларды пайдалануу боюнча чектөөлөр бар. анын үлгүсүн карап көрөлү Java программалоо тили. класс, жок эле дегенде, бир ушундай ыкмасы бар болсо, анда ал абстрактуу болушу керек деген талап бар. Ал эми ар кандай учурда мындай куруу колдонуу үчүн орундуу? Анын бир мисалы класс үй жаныбарлары менен бул аяттагы сөздөрдүн маанисин түшүнө көрөлү. Алар жарыялангандан да үнү угулган жок экенин түшүнө баштайт. Ошондуктан, көпчүлүк жалпы класста ыкмасы үнү ишке ашыруу коюлган эмес. Бирок, түзүлгөн орган болуп эсептелет, ал үчүн блок аркылуу башка. Ал эми кийинки жылы, ит класс, кошка же жонундо түзүүдө бардык белгилери менен ачып турган алкагында, ал үчүн бирдиктүү ыкмасы белгиленген болот.
Interface
программа менен анын ой-ниети өзүнө көп куралдар жараткан - эл жакшы сапаттуу продукт жардам берүү. Жана каралып жаткан тема ушул жагын эске алуу керек, жана ар бир адам иштей бир абстрактуу класстын айырмаланып билет. Ошентип, акыркы өзгөчөлүк бул касиеттери жана методдору денени аныкталган эмес болушу мүмкүн эмес деп. иштей бир абстрактуу класстын ортосундагы айырманы карап чыгуу менен, атап айтканда, бир көбүрөөк жашашы керек. Ошентип, биринчи тукум болот, экинчи учурда - ишке ашат. Тажрыйбасыздар адам бул коркунучтуу көрүнүшү мүмкүн. Бирок чындык бир гана класс тукум болот, башкача айтканда, ал эми түшүндүм, - деп көп эле зарыл. Ал иштей айырмаланат кандай абстрактуу класстын. Java да гана абстракттуу коомдук ыкмалары жана статикалык константалар мүнөздөөгө болот өзгөчөлүктөр болуп саналат. Бирок, ошол эле сызууларды да тукум болот. Бул колдонулган операторлор коомчулук аркылуу коомдук экенин көрсөтүш керек.
сызууларды көп үлүшү
Бул өзгөчөлүк көп программалоо тилинде класстары үчүн жеткиликтүү эмес (мисалы, Java биз тарабынан каралат). Бул маселелердин бир катар менен шартталган. Мындай каршылыктар мурасты пайда болгонун көрсөтүп тургандай. Бул бир нече Interface мураска киргизүү үчүн негиз болуп саналат. Бул жарым-жартылай болгон көйгөйлөрдү чечет, бирок, бардыгына эмес. Ошентип, Encapsulation жана Polymorphism негиздери урматында Interfaces ар кандай ыкмалары боюнча ар башка класстарда ийгиликтүү жүзөгө ашырылышы мүмкүн (алар да аты бар да). Бирок, учурдагы көйгөйлөр тууралуу унутпагыла. Ошентип, бир нече сызууларды менен иштеп жатканда ар дайым эсибизде бар көрсөтүү керек. Ошондой эле, көйгөйлөр да аты менен болуп, иш алып барууга аракет кылып жатканда, эки жол менен - алар бул учурда пайдаланып албай калат. Ошондуктан, мындай учурларда ал жалпы сатуунун катышуусунун кам көрүү зарыл.
абстракттуу маалыматтар
Бул түшүнүк программасынын негизги багыт болуп калат. Бул учурда, көз карандысыз кароо абстракттуу жана иштей жана ишке ашыруу бөлөк түшүнөбүз. анын бир мисал карап көрөлү. Биз бир объект же модулу бир сыналгы, бар. Бул макамын бар. Ошол эле учурда, алар башкаруу болуп саналат, ошондой эле үн жана сүрөттөлүш. дагы кемчиликсиз Interface колдонууда, дагы эркин TV колдонулат. Биз кандайдыр бир кнопкасын басуу аркылуу программалардын арасында которула аласыз. Бул учурда, теле физикалык жараяндар тууралуу ойлонууга эч кандай кереги жок. Аппаратты чогултуу алар адистер, кам көрөт. Биз касиеттери гана кызыкдар жагат. программалоого кайтып, биз алар ушундай макулдашуунун жана ишке ашыруу боюнча иш деп айтууга болот. Ошондой эле, бир адам өз билими менен ишенимдүү болсо, ал "жок" Биздин гипотетикалык сыналгыны жабуу мүмкүн жана аны жакшыртуу. Бул жергиликтүү ийгиликке алып келиши мүмкүн болсо да, көпчүлүк учурда, жыйынтыгы терс болуп саналат. Ошондуктан, жеткиликтүүлүк колдоого программалоо тыюу салуу жана абстрактуу маалыматтардын ички компоненттерин жашыруу үчүн. Бул механизмдин негизги ички компоненттерин атайылап же атайылап жактан алдын алуу үчүн жол берет. Жана абстракттуу маалымат түрлөрү жөнүндө айтып берип жатканда, алар боюнча жүргүзүлүшү мүмкүн иштеринин комплексин комплексин орточо.
объектилер
Биз буга чейин жалпы жана жалпы абстрактуу классын жана макамын көрдүм. Азыр биздин билимибиз, анын чоо-көрөлү. акы көңүл объектилерин баштоо үчүн. Алардын Төмөндө, жалпысынан, убакыт жана мейкиндик бар экологиялык тартабыз. Бирок, программа расмий ичинде объекттерди аныктоо кыйынга турат (көз-методологиялык жана теориялык көз караш менен). Ошондуктан, өзүнүн касиеттери менен шартталган. Мисалы, төмөнкү: An объект уникалдуу аныкталган (өзгөчө аты менен), ал белгилүү бир абалда жана жүрүш-туруштун белгилүү бир үлгү колдонгон болот.
тукум куучулук
сиздин програмдоо объектилердин ортосундагы иерархиялык дарак курулуш мамилелерге негизделет, демек, маселе ата-коду китепканаларынын түрлөрүнүн негизги касиеттери өткөрүлүп жатканын жөнүндө тирилет. Эгерде кимдир бирөө бир нерсе менен жүрүм-турумун жана структурасын кайталайт кийин мурас боюнча мамилесин түшүнүү. жөнөкөй жашоо, бул жерде таба аласыздар. Мындай кийинкиге жылдырылат жана салыштырмалуу абстракттуу элементтери программалоо эле. Салыштыра келсек, чындык куштай ушундай орган жок жок деп. Бул абстрактуу аталышы. белгилүү бир мисалы катары чай, Булбул же таранчыны алып келет. мурас аркасы менен биз тобу китепканаларын колдоно аласыз, ошондой эле белгилүү бир программа, аларды иштеп чыгуу. Бул курал, келгиле, бир эле учурда буга чейин түзүлгөн касиеттерин кошуу же өзгөртүп, жаңы объекттерди түзүүгө мүмкүндүк берет. Мураскор атасы бардык ыкмаларын жана талааларды алат жана зарыл болсо, өзүнүн сыпаттары ээ. Байланыштуу абстракттуу элементтери бар экенин жана мурастарын принцип үчүн, объектиге-багытталган программалоо ичинде өзгөртүүлөрдү киргизүү боюнча көптөгөн мүмкүнчүлүктөр бар. Мындан тышкары, бул көйгөйлөрдү чечүү үчүн ийкемдүү мамиле түзөт. Эгер берилген маалыматтардын жана милдеттерин жаңы классын мураска кийин.
Объеке
Бул көйгөйлөрдүн ар кандай түрлөрүн чечүү үчүн бир эле милдетти колдонуу зарыл. Мындай учурда ар кандай иш-аракеттер мүмкүн катышуусун камсыз кылат да, мазмуну иштин кайсы менен объектисинин түрүнө жараша болот. Under Polymorphism ар кандай жолдор менен проблеманын семантикалык мааниси окшош аткарууга, жалпы ата-бар элементтердин касиеттерин түшүнүү. Биз адамдар менен жаныбарлардын Бир салыштыруу жасасак. иш-аракеттер бар - иштетүү үчүн. Биз баарыбыз бул эмне билебиз. Бирок, ар түрдүү жаныбарлардын (арстан, пил, шимпанзе, крокодил, таш бака) Бул иш-аракет ар кандай жолдор менен ишке ашырылат. Бул учурда, алардын кыймылы, эгер зарыл болсо, кайсы бир учурда бир күнүмдүк, алгоритми жана аны ийгиликтүү ишке ашыруу үчүн алып келиши мүмкүн жооптуу иштеп жатат. Бул ыкмалардын комплексин пайдалануу менен жүзөгө ашырылат. Ар бир класс программист Ошол эле учурда мүнөздүү болгон касиеттерин каршы аныктайт. балдарын бир нерсени өзгөртүү, бул учурда конкреттүү, керектүү иш-аракет менен гана жетишүүгө болот. Мындай таасир объектилерин Объеке деп аталат. Жалпысынан алганда, абстракттуу класс программалоо үчүн өтө пайдалуу каражат болуп саналат.