Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet116/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   112   113   114   115   116   117   118   119   ...   193
Bog'liq
Book-qtC


Глава 10. Объектно-ориентированное программирование
лена задача автоматизировать работу университетской библиотеки, то объекты
класса «студент» определённо должны содержать информацию о книгах, взятых
на абонемент конкретным студентом. Если автоматизируется учёт успеваемости,
то в списке книг нет необходимости, но зато в состояние объекта обязательно
должны быть включены оценки по изучаемым дисциплинам.
Более того, когда мы рассматриваем сущности реального мира, с которыми
должна иметь дело создаваемая программа, мы можем назначить некую сущ-
ность на роль объекта или на роль класса объектов, также в зависимости от кон-
кретной задачи. Представим себе, что одна из подзадач программы — система-
тизировать социальные роли, такие как «домохозяйка», «пенсионер», «студент»
(например, для учёта доходов и льгот). Вполне вероятно, что в такой программе
«социальная роль» будет объявлена классом, а сущность «студент» будет всего
лишь одним из объектов.
Иными словами, нет одинакового для всех ситуаций правила, по которому
сущность делают объектом или классом объектов. Всегда необходимо исходить
из большей целесообразности.
В реальном мире из родственных по смыслу сущностей часто можно со-
ставить иерархию «от общего к частному». Такие отношения в объектно-
ориентированном подходе называются наследованием. Из двух классов, находя-
щихся в отношении наследования, более общий класс называется базовым или
родительским
классом, а класс, представляющий собой более частный случай,
называется дочерним или производным классом. Производный класс может за-
имствовать атрибуты (свойства и методы) базового класса. Это означает, что
если в программе используются родственные по смыслу классы, обладающие
некоторыми одинаковыми свойствами и методами — лучше определить один ба-
зовый класс, находящийся в вершине иерархии, и разместить дублирующиеся
свойства и методы в нём. В этом случае производные классы смогут автомати-
чески унаследовать эти атрибуты от базового класса, и поэтому их не придётся
описывать снова и снова. Например, если программа оперирует классами «сту-
дент», «преподаватель» и «инженер», логично ввести дополнительный базовый
класс «человек», переместив в него атрибуты, содержащие имя, адрес, другие
личные данные, а также методы, манипулирующие этими данными.
Помимо двух уже рассмотренных качеств — инкапсуляции и наследования
— у объектов есть ещё третье основополагающее качество: полиморфизм. Это
означает, что объекты могут вести себя по-разному в зависимости от ситуации.
Одно из основных проявлений полиморфного поведения — перегрузка функций.
Объект может содержать в себе несколько методов с одинаковыми именами, при-
нимающих разные наборы параметров. В результате, передавая объекту данные,
можно обращаться к одному и тому же имени метода, не заботясь о типе, в ко-
тором представлены данные. Правильно сконструированный объект автомати-
чески выполнит наиболее подходящий метод из группы.
Инкапсуляция, наследование и полиморфизм являются тремя основополага-
ющими принципами объектно-ориентированного программирования и в том или
Программирование на языке С++ в среде Qt Creator


10.2. Классы и объекты в C++
271
ином виде реализуются во всех объектно-ориентированных языках. В следующих
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   112   113   114   115   116   117   118   119   ...   193




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish