<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GUJS - Grupo de Usuários Javascript &#187; Orientação à Objetos</title>
	<atom:link href="http://gujs.com.br/blog/categoria/orientacao-a-objetos/feed/" rel="self" type="application/rss+xml" />
	<link>http://gujs.com.br/blog</link>
	<description>O Maior Site Javascript do Brasil</description>
	<lastBuildDate>Tue, 27 Oct 2009 14:12:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MooTools &#8211; Ótimo framework JavaScript</title>
		<link>http://gujs.com.br/blog/2007/04/mootools-otimo-framework-javascript/</link>
		<comments>http://gujs.com.br/blog/2007/04/mootools-otimo-framework-javascript/#comments</comments>
		<pubDate>Mon, 30 Apr 2007 03:06:01 +0000</pubDate>
		<dc:creator>Rafael Quines</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Cross-browser]]></category>
		<category><![CDATA[Frameworks e APIs]]></category>
		<category><![CDATA[Orientação à Objetos]]></category>

		<guid isPermaLink="false">http://gujs.com.br/blog/2007/04/mootools-otimo-framework-javascript/</guid>
		<description><![CDATA[MooTools é um framework javascript orientado a objetos. É muito fácil de usar e totalmente extensível, sendo simples para você criar suas classes usando recursos desse Frameworks. Baseado em Prototype, esse framework cria e sobrescreve métodos de objetos javascript já existentes, facilitando muito o seu uso.

Segue uma maneira muito simples de fazer uma requisição ajax [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mootools.net">MooTools</a> é um framework javascript orientado a objetos. É muito fácil de usar e totalmente extensível, sendo simples para você criar suas classes usando recursos desse Frameworks. Baseado em Prototype, esse framework cria e sobrescreve métodos de objetos javascript já existentes, facilitando muito o seu uso.<br />
<span id="more-22"></span><br />
Segue uma maneira muito simples de fazer uma requisição ajax usando o mootools:</p>
<pre class="prettyprint">
&lt;script src="mootools.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
    var url = "./inc/ajax_processa.php";
    var params = {operacao: 'excluiUsuario', idUsuario: '50'};
    /*
    o postBody pode receber tanto uma querystring
    ("operacao=excluiUsuario&#038;idUsuario=50"), um objeto,
    como no exemplo, ou então um elemento form
    */
    var myAjax = new Ajax(url, {method: 'post', postBody: params}).request();
&lt;/script&gt;
</pre>
<p>Além de Ajax, o MooTools tem muitos outros recursos. Por exemplo, para quem já precisou pegar o tamanho da janela, sabe que é um problema para ser cross-browser, usando document.documentElement.clientWidth ou document.body.clientWidth. Você não teria esse problema. Apenas dar o include no arquivo do mootools, e o objeto window terá dois novos métodos: getWidth() e getHeight(). Muito interessante neh.</p>
<p>Algumas funções auxiliares também foram adicionados nos objetos javascript, como o método &#8220;trim()&#8221; em todas as strings, métodos de conversão de QueryString para Objeto JSON e vice-versa. Arrays ganharam novos métodos como forEach, extend, associate, remove. Elementos ganharam também getParent(), getTag(), getValue(), injectBefore(), injectAfter(), e muito mais.</p>
<p>Ainda não explorei tanto, mas uma coisa que dá pra notar é que o framework se propõe a facilitar ainda mais o dia-a-dia com JavaScript. Por favor, gostaria que comentassem a opinião dos leitores sobre o Mootools. Para quem não conhece, vale a pena pelo menos dar uma olhada.</p>
]]></content:encoded>
			<wfw:commentRss>http://gujs.com.br/blog/2007/04/mootools-otimo-framework-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ordenando listas com Javascript</title>
		<link>http://gujs.com.br/blog/2007/03/ordenando-listas-com-javascript/</link>
		<comments>http://gujs.com.br/blog/2007/03/ordenando-listas-com-javascript/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 18:26:01 +0000</pubDate>
		<dc:creator>Matheus Zeuch</dc:creator>
				<category><![CDATA[Cross-browser]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Downloads e Exemplos]]></category>
		<category><![CDATA[Orientação à Objetos]]></category>
		<category><![CDATA[Tutoriais Avançados]]></category>

		<guid isPermaLink="false">http://gujs.com.br/blog/2007/03/ordenando-listas-com-javascript/</guid>
		<description><![CDATA[A classe SortableList é um pequeno exemplo de utilização de métodos DOM sendo utilizados para facilitar a ordenação de itens de uma lista.
Para utilizar a classe, basta importar o arquivo js e instanciar um objeto que estará associado à sua lista. Feito isso você pode criar seus próprios links para manipular os eventos de ordenação [...]]]></description>
			<content:encoded><![CDATA[<p>A classe <code>SortableList</code> é um pequeno exemplo de utilização de métodos DOM sendo utilizados para facilitar a ordenação de itens de uma lista.<span id="more-10"></span></p>
<p>Para utilizar a classe, basta importar o arquivo js e instanciar um objeto que estará associado à sua lista. Feito isso você pode criar seus próprios links para manipular os eventos de ordenação da lista (mover para cima ou para baixo). Veja o exemplo abaixo:</p>
<pre class="prettyprint">var bozo;

function init() { bozo = new SortableList($('list')); } //&lt;ul id="list"&gt;

window.onload = init;</pre>
<p>Ao instanciar o <code>SortableList</code> você também pode definir duas opções interessantes:</p>
<ul>
<li><strong>A primeira é o &#8220;rotate&#8221;</strong>, que define se os itens vão girar ou não (<code>true</code> ou <code>false</code>), ou seja, se o primeiro da lista vai para baixo quando o usuário clicar para cima, e vice-versa, quando o último item se torna o primeira ao clicar para baixo.</li>
<li><strong>E a segunda é o onComplete</strong>, onde você pode setar uma função que será executada toda vez que a lista for reordenada. Nesta função você pode, por exemplo, fazer uma requisição Ajax que salvará a ordenação no seu banco de dados, onde você pode, para isso, acessar o atributo &#8220;<code>list</code>&#8220;, que contém a lista ordenada.</li>
</ul>
<p><strong><a href="http://gujs.com.br/demo/sortable-list/">Exemplo</a></strong> | <strong><a href="http://gujs.com.br/blog/wp-content/uploads/2007/03/sortable-list.zip">Download</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://gujs.com.br/blog/2007/03/ordenando-listas-com-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Métodos e atributos públicos e privados em Javascript</title>
		<link>http://gujs.com.br/blog/2007/03/metodos-e-atributos-publicos-e-privados-em-javascript/</link>
		<comments>http://gujs.com.br/blog/2007/03/metodos-e-atributos-publicos-e-privados-em-javascript/#comments</comments>
		<pubDate>Thu, 22 Mar 2007 18:06:47 +0000</pubDate>
		<dc:creator>Matheus Zeuch</dc:creator>
				<category><![CDATA[Orientação à Objetos]]></category>
		<category><![CDATA[Tutoriais Avançados]]></category>

		<guid isPermaLink="false">http://gujs.com.br/blog/2007/03/metodos-e-atributos-publicos-e-privados-em-javascript/</guid>
		<description><![CDATA[Criar métodos e atributos públicos e privados em javascript orientado à objetos é muito fácil. O que diferencia um do outro é o modo como ele será declarado dentro da classe. Basicamente, se você usar o this o seu método será público; se usar o var ele será privado, ou seja, só poderá ser acessado [...]]]></description>
			<content:encoded><![CDATA[<p>Criar métodos e atributos públicos e privados em javascript orientado à objetos é muito fácil. O que diferencia um do outro é o modo como ele será declarado dentro da classe. Basicamente, se você usar o <code>this</code> o seu método será público; se usar o <code>var</code> ele será privado, ou seja, só poderá ser acessado por métodos internos da classe.<span id="more-7"></span></p>
<p>Veja abaixo um exemplo bem prático.</p>
<pre class="prettyprint">function Objeto() {
  /* membros privados */
  var atributoPrivado = 'atributo privado';
  var metodoPrivado = function() {
    return 'método privado';
  }

  /* membros públicos */
  this.atributoPublico = 'atributo público';
  this.metodoPublico = function() {
    return 'método público';
  }
}
var obj = new Objeto();
alert(obj.atributoPublico); //retorno = 'atributo público'
alert(obj.metodoPublico()); //retorno = 'método público'
alert(obj.atributoPrivado); //retorno = undefined
alert(obj.metodoPrivado()); //retorno = 'obj.metodoPrivado' is not a function
</pre>
<p>Se você copiar este código e executá-lo, notará que no terceiro <code>alert</code> dará um erro. Isso porque o atributo é privado, e não pode ser acessado externamente. Se comentar esta linha o último <code>alert</code> também dará um erro pois, da mesma forma, o método privado também não pode ser acessado fora da classe.</p>
<p>Os dois primeiros <code>alerts</code> funcionarão perfeitamente, pois foram declarados como públicos na classe <code>Objeto()</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gujs.com.br/blog/2007/03/metodos-e-atributos-publicos-e-privados-em-javascript/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.372 seconds -->
