+ 1

Обучение языкам

Я пока в 10 классе и до ВУЗа в свободное время учу языки, как посоветуете учить:один язык (питон,плюсы или си) или сразу два языка ,а то и три,как будет эффективней.(Чем больше мнений-тем лучше:))

24th Dec 2018, 8:31 PM
I'm not a robot
I'm not a robot - avatar
6 Antworten
+ 1
Объектно-ориентированное программирование. Одна из парадигм программирования, главная идея которого заключается в том, что данные (переменные-члены класса) объединяются с функциями (функции-членами класса или, уже больше в терминах ооп, методами) в единый абстрактный тип данных (класс). После того, как был описан класс с точки зрения его поведения и, так сказать, содержания, мы можем создавать его экземпляры - объекты. Классы могут выстраивать иерархии с помощью наследования, То есть, суть в том, что акцент переводится от алгоритма, каких-то технических особенностей на сами данные и то, как они между собой связаны
19th Jan 2019, 2:01 PM
Steindvart
Steindvart - avatar
+ 1
ООП - это целая наука, по которой даже учебники пишут. Для более подробной информации обращайся к гуглу, википедии, хабру, тематической литературе. Я был бы рад поделиться всеми знаниями, что у меня есть, но, к сожалению, объём информации слишком велик и всё это (и даже больше) содержится в вышеперечисленных ресурсах. Мне самому ещё ооочень многому учиться и даже за всю жизнь, боюсь, всего не выучу. Небольшое лирическое отступление.
19th Jan 2019, 2:38 PM
Steindvart
Steindvart - avatar
+ 1
Но, всё же, чтобы внести большую ясность попробую показать на примере. Допустим, нам надо запрограммировать симулятор птиц (первое что пришло в голову). Как нам это сделать с помощью ооп? Мы создадим класс "птица" и подумаем над тем, из чего он должен состоять (переменные-члены или объекты-члены класса) и что может делать (методы класса), то есть уже больше задумываемся о том, как описать сам тип, а не техническую реализацию. Птица может состоять из размера, скорости, направления полёта и текущего положения в пространстве (пусть будет двухмерное), например. И может уметь летать. Ограничимся пока что на этом На C++ это можно описать так: class Bird //ключевое слово "class" и идентификатор (название) класса "Bird" { //Область видимости публичная, то есть, всё что находится здесь, будет доступно при //обращении непосредственное к объекту класса через оператор членства '.' (точка) public: //Конструктор класса, то есть тот метод, который будет вызываться при создании //объекта данного класса Bird(); void fly(); //То самое умение "летать" private: int size_; //Размер float speed_; //Скорость int dir; //Направление jn 0 до 3. Может лететь в 4 стороны int x, y; //Положение в 2-мерном пространстве } Здесь я только описать интерфейс класса, то есть то, что он вообще из себя представляет, его члены и прототипы методов. Отдельно (в отдельном файле исходного кода или непосредственно в одном файле с интерфейсом, но ниже) пишется реализация всех этих методов. Ну, вот так примерно и проектируются классы - главные составляющие ООП. Как он будет готов, можно будет создавать его экземпляры - объекты, с которыми уже намного легче работать, чем с какими-то непонятными бесконечными переменными и функциями. Например, я смогу вот так построить логику: Bird eagle; //Объявил объект типа Bird, созданного нами класса eagle.fly(); //Обратился к его методу fly() с помощью знака членства '.' и дальше уже выполняется тот код, что содержится в данном методе, но суть которого только в том, что он заставляет его лет
19th Jan 2019, 2:42 PM
Steindvart
Steindvart - avatar
+ 1
Ну а по теме вопроса, то лучше учи один. Распыляясь одновременно на всё сразу, ты будешь дилетантом во всём, но нигде специалистом. Нет, можно и нужно сравнивать, изучать различные технологии и принципы, лежащие в основах различных по типу ЯП. Но в рамках постижения общей теоретической базы и только уже после того, как стал более-менее разбираться в том, что ты учишь сейчас. Можешь объяснить что происходит у него "под капотом", что и как сделать, сам что-то делаешь качественное. То есть когда появляется крепкое его понимание.
19th Jan 2019, 2:58 PM
Steindvart
Steindvart - avatar
0
АД, C++ поддерживает ООП
19th Jan 2019, 9:52 AM
Steindvart
Steindvart - avatar
0
Это что?ООП
19th Jan 2019, 11:43 AM
I'm not a robot
I'm not a robot - avatar