17.08.2016, 09:42
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Это значит ты не сможешь сделать mixin или treat, поскольку уже все внутри потомка прописано, а тебе они нужны - миксины?
|
|
17.08.2016, 10:48
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от warren buffet
|
Еще один умнег продублировавший конструктор в обоих объедках.
|
Че умник кто пишет extend(s) тот не прав.
А ну бегом учится, почти в каждой либе есть
Последний раз редактировалось Vlasenko Fedor, 17.08.2016 в 10:51.
|
|
17.08.2016, 10:57
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Тебе говорят что животное, должно быть таким
function Animal() {}
и тогда твой экстенд вырождается в сущую тавтологию.
У меня нет ни одной либы.
|
|
17.08.2016, 11:11
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от рони
|
Maine,
function Animal(name) {
this.name = name
}
Animal.prototype.getName = function() {
return this.name;
}
function Dog(name) {
this.name = name
}
*!*Dog.prototype = Animal.prototype;*/!*
Dog.prototype.bark = function () {
return ('Dog ' + this.name + ' is barking');
}
var dog = new Dog('Balto');
alert(dog.getName());
alert(dog.bark());
|
вместо выделеной строки
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Множественное наследование, супер методы, наследование дескрипторов
а, вообще, делайте через es6 и не мучайтесь
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
17.08.2016, 11:12
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
|
|
17.08.2016, 11:26
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,133
|
|
nerv_,
|
|
17.08.2016, 15:15
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Poznakomlus, по моему гавномеру хабр стоит по горло после гитхаба, который стоит по пояс. Такшта не полезу.
|
|
17.08.2016, 15:26
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
И эта тема крутится вокруг культа классов. Они когда нужны, тогда и нужны, а чаще всего нафиг не нужны, и не нужна никакая эмуляция, поскольку в жабе запросто делается то, что в каноничных языках задолбаешься оформлять, собирать и проверять. Это же веб, а не десктоп и не сервер, а клиент.
Ну поменяй метод в классе контроллера в зависимости от типа запроса на том же вебном php скажем. А на жабе можно смастерить объект в зависимости от любых условий, потом поменять еще раз от условий и так далее и он будет молотить пока страница не переплывет реку Стикс.
Это все происки десктопных программистов, тащат за собой настольный опыт на веб и создают свою культуру и культы. )))
|
|
17.08.2016, 16:07
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от warren buffet
|
в зависимости от типа запроса на том же вебном php скажем
|
это же роутер в php
define('METHOD', $_SERVER['REQUEST_METHOD']);
define('URI', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
function router($url, ...$args)
{
(empty($args[1]) || false !== strpos(METHOD, $args[0]))
&& (URI === $url || preg_match('#^' . $url . '$#iu', URI, $match))
&& die(call_user_func_array(end($args), $match ?? []));
}
router('/', function () {
echo 'Main Micro';
});
кроме того есть reflection, а вот классы для разнообразия стоило глянуть
Последний раз редактировалось Vlasenko Fedor, 17.08.2016 в 16:13.
|
|
17.08.2016, 17:27
|
Профессор
|
|
Регистрация: 08.07.2016
Сообщений: 1,332
|
|
Poznakomlus, ты можешь для разнообразия посмотреть сериал Гадалка или там Мент в законе? Ну вот, у меня такое чувство к хабрам и гитам.
Сообщение от Poznakomlus
|
есть reflection,
|
Об чем и речь, reflection есть.
Сообщение от Poznakomlus
|
call_user_func_array
|
И call_user_func_array есть.
А на жабе ничего этого не надо.
if(a)
obj.method = one;
else
obj.method = two;
и пользуйся всю дорогу больше ничего не проверяя. Понял?
|
|
|
|