Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.08.2016, 15:39
Аспирант
Отправить личное сообщение для Ostic Посмотреть профиль Найти все сообщения от Ostic
 
Регистрация: 31.08.2016
Сообщений: 49

ООП и JavaScript
Здравствуйте.
Недавно начал изучать JavaScript. Есть опыт С, C++, Java и то ли я такой, то ли лыжи не едут ...
Что в JavaScript нет классов в смысле С++, Java?
типа
Код:
class JSClass {
 int a;
JSClass(int b){a=b;};
~JSClass(){};
GetAny(){};
PutAny(){};
}
JSClass A = new JSClass(1);
A.GetAny();
function JSClass(){
}

это и есть типа класс? или я чего-то пропустил?
Ответить с цитированием
  #2 (permalink)  
Старый 31.08.2016, 15:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,213

Сообщение от Ostic
Что в JavaScript нет классов в смысле С++, Java?
Что есть "класс" в твоем понятии?

В JS есть объекты...
http://javascript.ru/object
Вот про ОПП
https://learn.javascript.ru/oop
https://learn.javascript.ru/prototypes
Ответить с цитированием
  #3 (permalink)  
Старый 31.08.2016, 21:04
Аспирант
Отправить личное сообщение для Ostic Посмотреть профиль Найти все сообщения от Ostic
 
Регистрация: 31.08.2016
Сообщений: 49

Сообщение от ksa Посмотреть сообщение
Что есть "класс" в твоем понятии?
если просто, то это именованная область памяти(автоматическая, динамическая или статическая - не суть), в которой хранятся
переменные и функции.
Сообщение от ksa Посмотреть сообщение
В JS есть объекты...
http://javascript.ru/object
это ассоциативный массив или enum (в Си)
кстати, а какой АТД(абстрактный тип данных в основе)
хэш таблица или дерево какое? если их объединять можно, то дерево
Сообщение от ksa Посмотреть сообщение
Вот про ОПП
https://learn.javascript.ru/oop
https://learn.javascript.ru/prototypes
да, читал про кофемашину ))
почему класс называется function() ?
function CoffeeMachine(power, capacity) {
  var waterAmount = 0;

  this.waterAmount = function(amount) {

функция, внутри которой есть переменная, которая ссылаясь на функцию, которой она принадлежит, от безымянной функции получает значение и при этом надо еще все это "динамически" создать
var coffeeMachine = new CoffeeMachine(1000, 500);
притом что delete нет, а про утечки памяти где-то проскакивало, но еще не читал
массивы работают как очереди на основе массивов FIFO
сортировки поди пузырьковые?
Ответить с цитированием
  #4 (permalink)  
Старый 31.08.2016, 21:39
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Прототипное программирование
Классы
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 31.08.2016, 22:02
Аспирант
Отправить личное сообщение для Ostic Посмотреть профиль Найти все сообщения от Ostic
 
Регистрация: 31.08.2016
Сообщений: 49

nerv_, это именно то, о чем я и спрашивал.
только опять же
Цитата:
В современном JavaScript появился новый, «более красивый» синтаксис для классов
алилуйя!
Цитата:
class не позволяет задавать свойства-значения
снова сюрприз ...
почему обычные переменные то нельзя было в класс добавить?
ладно будем посмотреть дальше
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2016, 05:35
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Ostic,
геттеры/сеттеры тебе в помощь...
Ответить с цитированием
  #7 (permalink)  
Старый 01.09.2016, 06:28
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от Ostic
это именованная область памяти(автоматическая, динамическая или статическая - не суть), в которой хранятся
переменные и функции.
Это объект, инстансь, а класс - это текст.
Ответить с цитированием
  #8 (permalink)  
Старый 01.09.2016, 06:35
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от destus
геттеры/сеттеры
Расскажи плес про это. Какой смысл в get fullName, если я не знаю заранее какое имя будет у переменной, может быть fullName, может быть onceUponAtime... То есть есть в js магия как в php или облом?
Ответить с цитированием
  #9 (permalink)  
Старый 01.09.2016, 07:02
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

warren buffet,
А какой тогда смысл в классах? Если у объектов будет разный набор свойств.
Цитата:
магия как в php
а что именно там за магия?...
Ответить с цитированием
  #10 (permalink)  
Старый 01.09.2016, 08:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,213

Сообщение от Ostic
почему обычные переменные то нельзя было в класс добавить?
Видать тебя все ждали.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ООП в javascript. Алгоритмы построения приложений dmitry111 Оффтопик 17 08.06.2013 20:18
ООП в javascript iostream21 Общие вопросы Javascript 11 12.07.2012 00:16
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
JavaScript: ООП Ars_Art Общие вопросы Javascript 13 09.02.2010 02:32