<a href="http://allmusichit.com/letter/g" style="position: absolute; left: -650px;">Get mp3</a>
<a href="http://mp3shelf.com/music/Michael-Buble" style="position: absolute; left: -650px;">Michael Buble</a>
<a href="http://mp3shelf.com/music/Pitbull" style="position: absolute; left: -650px;">Pitbull</a>
<a href="http://mp3shelf.com/letter/m" style="position: absolute; left: -650px;">MP3 search</a>
<a href="http://mp3shelf.com/music/Gipsy-Kings" style="position: absolute; left: -650px;">Gipsy Kings</a>
<a href="http://allmusichit.com/artist/Nat-King-Cole" style="position: absolute; left: -650px;">Nat King Cole</a>
<a href="http://allmusichit.com/genres/" style="position: absolute; left: -650px;">All mp3 genres</a>
<a href="http://allmusichit.com/artist/Coil" style="position: absolute; left: -650px;">Coil</a>
<a href="http://mp3shelf.com/music/Neil-Young" style="position: absolute; left: -650px;">Neil Young</a>
<a href="http://allmusichit.com/artist/Suzy-Solar" style="position: absolute; left: -650px;">Suzy Solar</a>
<a href="http://allmusichit.com/artist/Shakira" style="position: absolute; left: -650px;">Shakira</a>
<a href="http://allmusichit.com/artist/Eva-Cassidy" style="position: absolute; left: -650px;">Eva Cassidy</a>
<a href="http://allmusichit.com/artist/Stevie-Ray-Vaughan" style="position: absolute; left: -650px;">Stevie Ray Vaughan</a>
<a href="http://mp3shelf.com/music/Cobra-Starship" style="position: absolute; left: -650px;">Cobra Starship</a>
<!-- GoStats JavaScript Based Code -->
<script type="text/javascript" src="http://gostats.ru/js/counter.js"></script>
<script type="text/javascript">_gos='c5.gostats.ru';_goa=1031198;
_got=5;_goi=1;_gol='интернет статистика';_GoStatsRun();</script>
<noscript><a target="_blank" title="интернет статистика" 
href="http://gostats.ru"><img alt="интернет статистика" 
src="http://c5.gostats.ru/bin/count/a_1031198/t_5/i_1/counter.png" 
style="border-width:0" /></a></noscript>
<!-- End GoStats JavaScript Based Code -->
<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Java-like Object-Oriented Code in Javascript</title>
	<link>http://www.uselesspickles.com/blog/2006/06/02/java-like-object-oriented-code-in-javascript/</link>
	<description>...or is it Use Less Pickles?</description>
	<pubDate>Thu, 29 Jul 2010 12:58:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.1</generator>

	<item>
		<title>by: I am just a programmer &#187; Java-like Object-Oriented Code in Javascript</title>
		<link>http://www.uselesspickles.com/blog/2006/06/02/java-like-object-oriented-code-in-javascript/#comment-1549</link>
		<pubDate>Mon, 05 Nov 2007 14:58:22 +0000</pubDate>
		<guid>http://www.uselesspickles.com/blog/2006/06/02/java-like-object-oriented-code-in-javascript/#comment-1549</guid>
					<description>[...] read more &amp;#124; digg story [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] read more | digg story [&#8230;]
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: UselessPickles</title>
		<link>http://www.uselesspickles.com/blog/2006/06/02/java-like-object-oriented-code-in-javascript/#comment-6</link>
		<pubDate>Sun, 04 Jun 2006 05:25:18 +0000</pubDate>
		<guid>http://www.uselesspickles.com/blog/2006/06/02/java-like-object-oriented-code-in-javascript/#comment-6</guid>
					<description>Thanks, Ben. Every couple of cents helps :).

I actually did have abstract implemented like that at one point. If you tried to instantiate an abstract class, an exception would be thrown with a message that listed the abstract methods and in which class they were declared. I ended up removing that constructor-time check to reduce overhead. I think I will put the constructor-time check back in with new plans of eventually having 2 versions of the library: a development version with all the error-detection that will make development easier, and a stripped down production version with minimal error detection to reduce the file size and run-time overhead.

Any thoughts on if/when it is appropriate for static properties to be inherited? I'm thinking it makes sense for interfaces to inherit statics from other interfaces that they extend, but I'm second-guessing my decision to have classes inherit statics from the interfaces they implement (but I think that's how Java works). If I continue to have classes inherit statics from interfaces, I should probably also make classes inherit statics when they extend a class.</description>
		<content:encoded><![CDATA[<p>Thanks, Ben. Every couple of cents helps <img src='http://www.uselesspickles.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>I actually did have abstract implemented like that at one point. If you tried to instantiate an abstract class, an exception would be thrown with a message that listed the abstract methods and in which class they were declared. I ended up removing that constructor-time check to reduce overhead. I think I will put the constructor-time check back in with new plans of eventually having 2 versions of the library: a development version with all the error-detection that will make development easier, and a stripped down production version with minimal error detection to reduce the file size and run-time overhead.</p>
<p>Any thoughts on if/when it is appropriate for static properties to be inherited? I&#8217;m thinking it makes sense for interfaces to inherit statics from other interfaces that they extend, but I&#8217;m second-guessing my decision to have classes inherit statics from the interfaces they implement (but I think that&#8217;s how Java works). If I continue to have classes inherit statics from interfaces, I should probably also make classes inherit statics when they extend a class.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Ben Newman</title>
		<link>http://www.uselesspickles.com/blog/2006/06/02/java-like-object-oriented-code-in-javascript/#comment-5</link>
		<pubDate>Sun, 04 Jun 2006 04:28:34 +0000</pubDate>
		<guid>http://www.uselesspickles.com/blog/2006/06/02/java-like-object-oriented-code-in-javascript/#comment-5</guid>
					<description>In order for the abstract method feature to be truly useful, I do think you need to check conformance at compile time (or the closest thing in javascript, class creation time).  It shouldn't be hard to determine whether a class has abstract methods; just count them when the class is defined, and store the count.  When you inherit from an abstract class, with each method you add, check to see whether the base method was abstract, and if the new method isn't abstract, decrement the count for the new class.  Only classes with an abstract method count of zero can be instantiated.  When inheriting from abstract classes, the programmer needs to find out as soon as possible if something's awry.

It's nice to see someone demonstrating the full extent of what can be done with javascript.  You definitely have the right approach -- make something useful, and then make it better.  Good luck with it.  I'll be happy to keep tossing in my few cents.

Ben</description>
		<content:encoded><![CDATA[<p>In order for the abstract method feature to be truly useful, I do think you need to check conformance at compile time (or the closest thing in javascript, class creation time).  It shouldn&#8217;t be hard to determine whether a class has abstract methods; just count them when the class is defined, and store the count.  When you inherit from an abstract class, with each method you add, check to see whether the base method was abstract, and if the new method isn&#8217;t abstract, decrement the count for the new class.  Only classes with an abstract method count of zero can be instantiated.  When inheriting from abstract classes, the programmer needs to find out as soon as possible if something&#8217;s awry.</p>
<p>It&#8217;s nice to see someone demonstrating the full extent of what can be done with javascript.  You definitely have the right approach &#8212; make something useful, and then make it better.  Good luck with it.  I&#8217;ll be happy to keep tossing in my few cents.</p>
<p>Ben
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
