Search
Write a publication
Pull to refresh
-10
0
Сергей @tac

Программист

Send message
И еще не путайте — вы не смогли бы сделать так в «private область видимости»… опять вы господа попутали все понятия :) Попробуйте в калбеке функции присвоить в привайт свойство объекта… вы о чем вообще?
речь о том, что я вам скоро не смогу отвечать :) из-за демократии большинства ушлепков, которые не понимают за что минусуют.
это ругательство — забудьте — лямбы их в ООП нет. Это страшное нашествие киборгов функционального программирвоания
> Лямбда это тот же самый функтор записанный более удобным способом.

ужас, если это более удобный способ — то пипец — плаколо мое образование… это новомодный бред, не имеющий ничего общего не с удобностью, не с понятийностью, ни с чем… это возврат к ассемблеру, только под определенным соусом.
Вот если бы Вы сделали так — то проблем не было бы. А так есть. Вдруг откуда не возьмись… лан, меня заминусовали — ухожу я от вас, до свидос, Не жалею, не зову, не плачу,
Всё пройдёт, как с белых яблонь дым.
Увяданья золотом охваченный,
Я не буду больше молодым.
Что-то я не понял, это какие такие я понятия подменяю? Хороший собеседник с вас получился бы если бы вы признали, что в JS не реализованно наследование, о чем я вам убедительно продемонстрировал. Если же вы этого не признаете — это вы подменяете понятия — наследование для вас тоже самое, что агрегация… ну что же — жаль…
О как замечательно мы нарушили private область видимости — фиерично :) и язык к этому не имеет отношение — лямды всякие как раз и нарушают ООП.
> Поэтому используют разные конвертеры из языков с типизацией

Можно подробнее, может ссылку какую то? интересно посмотреть как это делают…
Я не об этом :) Вечер пятницы проходил толскливо, я за пивом… а потом продолжим :)

Но у Вас есть шанс подумать, что если язык для выражения концепции наследования и агрегации предоставляет одинаковые синтаксические конструкции — то с каким успехом он позволяет построить объектную модель?
у меня реальная ломка, когда сажусь за JS после C# :)
:) пусть так, только этот тролль многое сделал, чего многим и не снилось :)
к сожалению, именно так и есть — ни какого юмора :)
см. комментарий ниже — вы реализовали нечто другое :) и назвали не правильно :)

А если вдруг озоботитесь ответом на вопрос чем наследование отличается от агрегирования, может на шаг вперед продвинетесь в изучении ООП.
К сожалению, без поддержки языка думать объектами не получается, точнее думать можно, но на код это не повлияет, если нет соответствующей поддержки.

Но этим комментарием наконец-то было признано, что JS не имеет как минимум полноценной поддержки ООП. О чем я и сказал в самом начале. А так поддержка которая есть скорее ведет к несуразностям, можно конечно за не имением лучшего, как то к этому приспособится — но и всего лишь.
Итак, оставшиеся без ответа комментарий 1 и комментарий 2 показывают, что «ООП» JS по сути нарушает все мыслимые правила реального ООП — как то нарушение областей видимости, так и подмену наследования агрегированием. На этом откланиваюсь, не понимающие могут долго минусовать, а умеющие думать — могут задуматься, что не всюду где на заборе написано дрова, они там есть.

И о том пройду ли я собеседование по вот таким формальным правилам, где нужно, чтобы у человека не было собственного экспертного мнения, и где собеседования проводят молодчики еле написавшие пару программ, но позволяющие себе оценивать знания других людей.
Ладно, не будут тут вдаваться в детали почитайте про проблемы связанные с этим javascript.ru/tutorial/object/inheritance#operator-instanceof
А вот у меня устойчивое впечатление, что на JS (хоть вы и не показали весь код) Вы реализовали совсем другую концепцию, а не переопределение функции в наследнике. По сути JS подменяет это решением вида:

	public class O
	{
		public object prototype;
	}

	public class A : O
	{
		public void M1()
		{ }
	}

	public class B : O
	{
		public void M1()
		{
			A a = prototype as A;
			if (a != null)
			{
				a.M1();
			}
		}
	}



Причем присвоение прототипа мне почему то надо делать за рамками класса. (в коде это не показано)

А я хочу, чтобы я мог создать конструкцию именно наследования и переопределения.
т.е. аналог

	public class A
	{
		public virtual void M1()
		{ }
	}

	public class B : A
	{
		public override void M1()
		{
			base.M1();
			...
		}
	}


> И оно подходит без всяких «натяжек» под каноны ООП.

Просто фиерическое утверждение :)

Помимо уже обсужденных натяжек… опишите мне как переопределить функцию в классе наследнике?

Information

Rating
Does not participate
Registered
Activity

Specialization

Game Developer, Software Architect
Lead
C#
OOP
ASP.Net
MSSQL
Game Development
C++
Programming microcontrollers
Software development
WPF
Unity3d