28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
|
|
1 | |
Долго ли вы привыкали к объектам и классам?29.01.2015, 20:54. Показов 1517. Ответов 14
Метки нет (Все метки)
Недавно дошел до главы, где начинаются классы, объекты и т.п... До сих пор, всё делал в функции main и там всё писал по порядку, так и выполнялось. А сейчас взять тот же класс, в нем объект, который имеет некоторое кол-во элемент-функций. В общем, принцип я понял, но как-то привыкнуть не могу, если попытаюсь создать свой класс - не могу выполнить задачу, одни косяки... Еще эти аргументы функций.. Что-то и куда-то возвращает значение.. Ужс
У всех были подобного типа сложности? И если да, то справились ли вы?) И как вообще можно всё упомнить, когда пишешь код? Одна элемент-функция делает одно, другая - другое, одна куда-то возвращает какое-то значение и т.п. Ну это ладно, у меня в классе всего один объект и несколько элем.-функций, а что если куча этих классов и объектов? Комментарии спасают?
0
|
29.01.2015, 20:54 | |
Ответы с готовыми решениями:
14
Задача по объектам и классам Посоветуйте литературу по объектам и классам Задача по классам и объектам Назовите что это? Определения по классам, объектам и методам |
102 / 44 / 18
Регистрация: 08.01.2015
Сообщений: 97
|
|
29.01.2015, 20:59 | 2 |
0
|
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
|
|
29.01.2015, 21:00 [ТС] | 3 |
И да, спустя долгое время понял, что возвращают функции и куда. Если бы сразу знал, что int = integer,
char - character и т.п. то было бы проще, английский чуть-чуть помогает в понимании. Добавлено через 48 секунд Интерес.
0
|
102 / 44 / 18
Регистрация: 08.01.2015
Сообщений: 97
|
|
29.01.2015, 21:08 | 4 |
Как -то не парился особо. В чужих библиотеках пришлось разбираться. А потому пришлось осваивать классы,ООП и т.д и тп. Постепенно на С++ и С# переполз. Иначе сидел бы на Си.
1
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
29.01.2015, 21:17 | 5 |
Называй функции согласно их назначению.
Не делай слишком большие функции (если не помещается в один экран - это уже повод подумать). Называй параметры функций понятными именами, согласно их назначению. Тоже самое относится к именам классов. Пользуйся const в тех случаях, где он необходим. Комментарии, как правило, не спасают, т.к. имеют свойство устаревать. Это особенно заметно в больших проектах. Но комментирование сложных участков кода является, тем не менее, хорошей практикой. Но как и любым инструментом, комментариями не стоит злоупотреблять.
2
|
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
|
|
30.01.2015, 00:31 [ТС] | 6 |
А как быть с тем, если у меня монитор 1024х768? Получается, что на широкоформатниках еще место будет в строке. В принципе то мне сейчас всё равно, я только с примерами из учебника работаю. Просто интересно, как можно сделать, допустим, чтоб исходник на всех мониторах отображался одинаково.
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
30.01.2015, 00:42 | 7 |
никак. на счет помещения на монитор - это примерная метрика. в строчках еще измеряют.
со временем придет понимание что длинно, а что номр. на счет одинаково выглядящих исходников: тут разве что настроить свой редактор, чтобы он вместо табов пробелы втыкал. не важно сколько, лишь бы пробелы. если так не сделать, то в других редакторах вся аккуратно расставленные отступы поедут и код станет сверхкривым. это потому, что у всех разный размер таба в пробелах.
2
|
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
|
|
30.01.2015, 09:08 [ТС] | 9 |
Получается, что не так выразился. Имел в виду объект, принадлежащий классу. Или опять не так?
Я понял, что это экземпляр, приводился пример с автомобилем в книге.
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
30.01.2015, 09:41 | 10 |
Если есть сложности с терминологией, напишите минимальный понятный пример кода.
1
|
Модератор
|
||||||
30.01.2015, 14:14 | 11 | |||||
Если попробовать использовать аналогии, то так:
Класс (тип, созданный пользователем) - чертёж. Объект данного типа (экземпляр класса) - изделие, выполненное по этому чертежу. Ну или вот так ещё: Класс - меню. Экземляр класса - еда. Класс - карта. Экземляр класса - территория. Класс - план здания. Экземпляр класса - само здание. Добавлено через 8 минут Чтобы проще было понимать, попробуйте отталкиваться от понимания базовых типов и типов (классов) из STL. Вот что такое тип int, или тип double, или тип char? Что такое переменная типа int? Переменная типа char? Создаёте Вы переменную по имени, скажем myVariable типа int - вот Вам и объект, тип которого int. А если создаёте переменную myString типа string, то будет Вам объект уже с другими свойствами (возможностями, ограничениями). Та же петрушка и с пользовательскими типами (то есть, классами). Только все свойства (особенности, возможности, ограничения) данного типа Вы задаёте сами. Добавлено через 11 минут Вот, к примеру, какой-то добрый и умный дядька взял и написал класс std::string. А Вы создаёте экземляр этого класса (иными словами, объект типа string) - какую-то строку. Например так:
Собственно, Вы даже можете не знать, как устроен класс string. Вам достаточно прочитать в книжке по С++ или на сайте по С++ как работают методы (функции-члены) этого класса - то есть, что же, собственно, можно делать со строками типа string. Это так же, как с автомобилем. Класс - это чертёж автомобиля. Сам автомобиль - экземляр класса (объект данного типа). По данному чертежу могут быть созданы тысячи подобных автомобилей. А водитель (пользователь) даже может не знать внутреннего устройства автомобиля - ему достаточно знать внешний интерфейс, "методы класса автомобиль" (как крутить руль, когда и на какие педали жать, как передачи переключать, как включить поворотники, аварийку, дворники и т.п.) Добавлено через 24 минуты Спасает смена ракурса, смена точки зрения. Другими словами, расширение восприятия, сдвиг точки сборки. Вы сейчас смотрите на предмет с позиции жертвы. Помните, как в школьные годы многие (а может и Вы были среди таких - я точно был) ныли: "Ох, блин, эти физики-математики, понапридумывали всякой ерунды, а мы теперь из-за них сиди, зубри, учи, мучайся". Но учёные, изобретатели, первооткрыватели, исследователи не собирались нас мучить. Они про нас не знали и не думали. Они наслаждались, когда делали свои открытия. Потому что их позиция была позицией творца, создателя, придумщика, фантазёра, мечтателя. И если Вам удастся начать думать так же, вы увидите, насколько многое стало проще и понятнее. Представьте, что Вам задали задачу - разработать язык программирования навроде С++. Если Вы будете читать книжку не с позиции ученика, который вынужден зубрить, а с позиции творца (такого же учителя-наставника, как автор учебника), изучающего методы работы своего коллеги, то Вы многие нюансы начнёте воспринимать по-другому. Добавлено через 7 минут А чисто технически - спасают и говорящие названия классов и методов, и коментарии, и многократные упражнения (создание собственных классов, помощь новичкам на форуме), и чтение книжек. Много факторов. Если Вы будете заниматься этим в течение какого-то времени и не бросите, то постепенно привыкните. Новое станет привычным, перестанет пугать и запутывать. Частенько, именно так новое знание и входит в нашу жизнь. Не во всём сразу бывает "как будто всю жизнь этим только и занимался". В каких-то сферах проще, в других нужно больше упорства, усидчивости, настойчивости, терпения, усилий, труда.
4
|
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
|
|
30.01.2015, 17:14 [ТС] | 12 |
Иногда читаю и что-то напрочь не понимаю, даже если объяснять будут подробно, кидаю программирование со словами "может быть не дано?". В итоге всё равно возвращаюсь к СПП и каким-то таинственным образом те вещи, которые не понимал, стали понятными, хотя я с ними вообще не связывался, просто пришло понимание со временем и всё.
Добавлено через 3 минуты И еще всегда пытаюсь получить как можно больше информации, но не выходит, от этого появляются сомнительные вопросы в изучении С++, вопросы об эффективности обучения.
1
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
30.01.2015, 17:15 | 13 |
А чего к ним вообще привыкать?
0
|
28 / 28 / 5
Регистрация: 27.01.2014
Сообщений: 784
|
|
30.01.2015, 19:26 [ТС] | 14 |
1
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
30.01.2015, 19:32 | 15 |
К каждой переменной в своём проекте тоже привыкаешь? Видимо до бесконечности и времени для написания проги не остаётся. К закорючке, каких может добавляться штук до пяти в минуту, тратить время на привыкание нельзя.
0
|
30.01.2015, 19:32 | |
30.01.2015, 19:32 | |
Помогаю со студенческими работами здесь
15
Добавление полей ко всем классам (не объектам) с определенным атрибутом Долго загружается Windows 7. Тормозят браузеры, долго открываются программы Долго прогружается, там где бегунок тусклый экран долго, а потом загрузка Долго загружается нетбук. Долго открываются все окна (проводник, плееры, браузеры, прочее) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |