2014-09-29 3 views
-2

Я программист-программист на промежуточном уровне, и в более чем год рекреационного кодирования я никогда не чувствовал необходимости использовать класс, функции работают нормально, я знаю, какие классы (на базовом уровне) все еще у меня есть никогда не встречал ни одного случая, когда я думал: «Это было бы намного проще и чище с классом». Это потому, что я недостаточно хорошо знаю классы?Практические примеры хорошего использования классов?

Можете ли вы привести пример конкретной программы (не так, как примеры из двух строк, которые можно найти на многих сайтах), что с классами проще, чище и проще понять?

+3

Есть * тонны книг, статей и учебников по объектно-ориентированному программированию и шаблонам, используемым в них. – David

+0

Если их тонны, значит, трудно найти хороший. – Caridorc

+2

Это странный вывод. Существует также тонны воздуха в мире, но разве это затрудняет дыхание? Одним из сильно чрезмерно используемых примеров объектно-ориентированного дизайна будет создание нескольких «автомобильных» объектов, которые наследуют функциональность от абстрактных родительских объектов, переопределяют функциональность для настроек и т. Д. В принципе любой сценарий, который включает в себя моделирование, ну, объекты. Если бы все это делалось, это писать постоянно растущую библиотеку вспомогательных функций для объектно-ориентированной модели, тогда код стал бы чрезвычайно трудно поддерживать очень быстро. – David

ответ

-1

Вам не нужна программа для демонстрации этого примера.

Человек - это класс. Вы являетесь объектом класса Human. Человек содержит все необходимые данные и операции, которые необходимо выполнить для удовлетворения потребностей человека. Он состоит из различных объектов, которые, вероятно, также являются классами, такими как Arm, Head и т. Д. Он также имеет различные функции, такие как Breath, Sleep, Walk и т. Д.

Он происходит от чистого виртуального класса под названием Mammal. Млекопитающее является чисто виртуальным и не может быть создано как класс само по себе. Причина в том, что вы не ходите вокруг млекопитающих, они должны быть млекопитающими. Класс Млекопитающих существует как концептуальное удобство. Все, что переопределяет Млекопитающее, должно объяснить, как оно реализует любые функции, которые не работают одинаково для всех млекопитающих.

Если вы хотите реализовать вышеуказанную логику без использования классов, то вы могли бы. Вы можете написать структуры данных и функции, которые работают над ними, но будет много функций, которые имеют смысл только для определенных структур данных. Классы помогают группировать эту информацию в одной логической концепции.

Вместо того чтобы нарушать проблему в конструкциях программирования, вы можете построить конструкторы программирования в соответствии с этой проблемой.

+0

Может ли дайвинг-бомбардировщик дать мне знать проблему, чтобы я мог ее решить и улучшить ответ? – Stefan

+1

Это объясняет проблему этими глупыми бесполезными иерархиями, которые не имеют абсолютно никакого смысла и даже не близки к хорошему дизайну ООП. –

+0

* царапины голова * извините, я не очень много спать прошлой ночью! Вы имели в виду, что ответ глупый, иерархия примера не указана или что концепция моделирования иерархии таким образом тупая ... или все вышеперечисленное? !! – Stefan

Смежные вопросы