Программирование > Общие вопросы C++

Классы или принцип ООП

(1/2) > >>

Prographer:
Всем привет. Господа, кто достаточно хорошо знает С++, объясните поподробнее применение классов на каком-нибудь несложном примере. Спасибо!

xanser:
Кстати по работе с классами на сайте нет уроков, а хотелось бы.

Sektor:

--- Цитировать ---Кстати по работе с классами на сайте нет уроков, а хотелось бы.
--- Конец цитаты ---
Наверное, это имелось введу, про то как переписывать классы GTA и затем использовать их в своих плагинах?


С моей точки зрения если все описать, классы - это некий вид описания объектов. Начнем с того что понятия класс в самой памяти не существует, там лишь может существовать объект от него, который будет иметь размер согласно тем полям, сколько было их объявлено в классе. Грубо говоря, класс это описания лишь для программиста и классы позволяют, создать такую технику, будто бы мы программируем какими-то отдельными штуковинами, как кирпичиками, который один из них, может отличаться своими параметрами от других. Создается впечатление, что объект, это что-то самостоятельное.

Например в GTA Vice City. Существует класс CPed - это основная начинка для последующих типов, актеров, которая содержит все в себе важные параметры, как хелсы, координаты, углы, флаги поведения и много всего другого.

От CPed наследуются уже рабочие классы, такие как CCopPed, CEmergencyPed, CCivilianPed, CPlayerPed.

Происходит то, что наследники забирают все поля  с CPed а также добавляют и свои нужные поля.

Таким образом получается, что грубо говоря выделили например актера (CCopPed) - задали поведение, выделили другого (CCopPed) задали совсем другое поведение. Впечатление будет такое, что каждый объект ведет себя по разному и у каждого свои свойства.

Prographer:

--- Цитата: Sektor от Май 15, 2015, 09:43:31 pm ---
--- Цитировать ---Кстати по работе с классами на сайте нет уроков, а хотелось бы.
--- Конец цитаты ---
Наверное, это имелось введу, про то как переписывать классы GTA и затем использовать их в своих плагинах?


С моей точки зрения если все описать, классы - это некий вид описания объектов. Начнем с того что понятия класс в самой памяти не существует, там лишь может существовать объект от него, который будет иметь размер согласно тем полям, сколько было их объявлено в классе. Грубо говоря, класс это описания лишь для программиста и классы позволяют, создать такую технику, будто бы мы программируем какими-то отдельными штуковинами, как кирпичиками, который один из них, может отличаться своими параметрами от других. Создается впечатление, что объект, это что-то самостоятельное.

Например в GTA Vice City. Существует класс CPed - это основная начинка для последующих типов, актеров, которая содержит все в себе важные параметры, как хелсы, координаты, углы, флаги поведения и много всего другого.

От CPed наследуются уже рабочие классы, такие как CCopPed, CEmergencyPed, CCivilianPed, CPlayerPed.

Происходит то, что наследники забирают все поля  с CPed а также добавляют и свои нужные поля.

Таким образом получается, что грубо говоря выделили например актера (CCopPed) - задали поведение, выделили другого (CCopPed) задали совсем другое поведение. Впечатление будет такое, что каждый объект ведет себя по разному и у каждого свои свойства.

--- Конец цитаты ---
Нет, в случае со структурой GTA мне понятно. Я не понимаю лишь сам принцип использования классов в программировании в целом. Хотя, после того как ты ещё раз описал структуру GTA, что-то в моей голове прояснилось. Спасибо :)

Sektor:

--- Цитировать ---структуру и класс
--- Конец цитаты ---
Одинаковые вещи, принцип тот же.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии