<?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># Johnatan Oliveira ~ joww.net - Internet, Segurança, Tecnologia, Linux, Programação, Música e Vida Profissional &#187; programacao</title>
	<atom:link href="http://www.joww.net/blog/tag/programacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joww.net/blog</link>
	<description>Internet, Segurança, Tecnologia, Linux, Programação, Música e Vida Profissional</description>
	<lastBuildDate>Thu, 02 Sep 2010 13:13:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Microsoft vai ajudar usuários a migrarem do MySQL para o MS SQL Server</title>
		<link>http://www.joww.net/blog/2010/01/14/microsoft-vai-ajudar-usuarios-a-migrarem-do-mysql-para-o-ms-sql-server/</link>
		<comments>http://www.joww.net/blog/2010/01/14/microsoft-vai-ajudar-usuarios-a-migrarem-do-mysql-para-o-ms-sql-server/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 07:00:23 +0000</pubDate>
		<dc:creator>Johnatan Oliveira joww.net</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[programacao]]></category>

		<guid isPermaLink="false">http://www.joww.net/blog/?p=583</guid>
		<description><![CDATA[Microsoft vai ajudar usuários a migrarem do MySQL para o MS SQL Server]]></description>
			<content:encoded><![CDATA[<p>A Microsoft apresentou uma nova ferramenta para ajudar os usuários na migração dos seus dados do MySQL para o Microsoft SQL Server.</p>
<p>O SQL Server Migration Assistant (SSMA) for MySQ está disponível no estágio Community Technology Preview (CTP), comparável ao beta, e tem como objetivo cortar dramaticamente esforço, custo e risco da migração do MySQl para o SQL Server.</p>
<p>Tudo indica que a Microsoft quer lucrar com o futuro incerto do MySQL. A aquisição da Sun pela Oracle e o futuro do MySQL como open source têm sido a causa de recentes preocupações da Comissão Europeia em relação à competição do mercado.</p>
<p>O produto da Microsoft está disponível na versão 1.0 e é gratuito. Há duas variantes da ferramenta: uma para migrar do MySQL para o <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c6f14640-da22-4604-aaaa-a45de4a0cd4a&amp;displaylang=en">SQL Server 2005</a> e outra para migrar para o <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8e&amp;displaylang=en">SQL Server 2008 e o SQL Azure</a> (banco de dados relacional da Microsoft para computação em nuvem). Elas têm suporte para Windows 7, Vista e XP, além das versões 2008 R2, 2008 e 2003 do Windows Server.</p>
<p><em>Com informações de <a href="http://www.h-online.com/open/news/item/Microsoft-to-help-users-migrate-from-MySQL-to-SQL-Server-902663.html">h-line</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joww.net/blog/2010/01/14/microsoft-vai-ajudar-usuarios-a-migrarem-do-mysql-para-o-ms-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plataforma Paypal vai ser aberta para desenvolvedores: isso VAI mudar tudo.</title>
		<link>http://www.joww.net/blog/2009/09/11/plataforma-paypal-vai-ser-aberta-para-desenvolvedores-isso-vai-mudar-tudo/</link>
		<comments>http://www.joww.net/blog/2009/09/11/plataforma-paypal-vai-ser-aberta-para-desenvolvedores-isso-vai-mudar-tudo/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 10:21:08 +0000</pubDate>
		<dc:creator>Johnatan Oliveira joww.net</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[Vida Profissional]]></category>
		<category><![CDATA[paypal]]></category>
		<category><![CDATA[programacao]]></category>

		<guid isPermaLink="false">http://www.joww.net/blog/?p=336</guid>
		<description><![CDATA[Plataforma Paypal vai ser aberta para desenvolvedores: isso VAI mudar tudo.]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-337 aligncenter" title="paybeer" src="http://www.joww.net/blog/wp-content/uploads/2009/09/paybeer.jpg" alt="paybeer" width="627" height="349" /></p>
<p>No final de julho, o <strong>PayPal</strong> anunciou que vai abrir a sua plataforma para desenvolvedores. Você pode imaginar que isso é algo que já deveriam ter feito faz tempo, por conta das possibilidades abertas com cabeças pensantes do mundo todo trabalhando a favor da ferramenta.</p>
<p>Ainda que com a demora, é isso mesmo que se espera, e o PayPal quer ouvir as ideias das pessoas do que pode ser feito, de como isso pode transformar a maneira como pagamos por produtos e serviços. Você pode mandar a sua proposta pelo <a href="http://www.changehowwepay.com/">changehowwepay.com</a>, ou pelo <strong>Twitter</strong> usando a hashtag <em>#changehowwepay</em>.</p>
<p>Além desse lado colaborativo, até obrigatório para uma campanha dessas, o que leva a nossa imaginação pra longe é o comercial abaixo. No vídeo, o próprio PayPal começa a pensar no que uma plataforma aberta pode gerar.</p>
<p>Pagamentos no supermercado, compra de ingressos para o cinema, de programas na TV, etc. Até carros voadores já existem, mas esse é um exercício de futurismo que parece cada vez mais próximo, e melhor, sem dispensar aquilo que é inerente ao comportamento humano: algumas coisas nunca vão mudar.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/rgT7gGciQrg&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=pt-br&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="500" height="344" src="http://www.youtube.com/v/rgT7gGciQrg&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=pt-br&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Dia 3/11/09 a brincadeira começa.</p>
<p>(<a href="http://www.brainstorm9.com.br/2009/09/04/paypal-some-things-will-never-change/trackback/">Via Brainstorm #9</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joww.net/blog/2009/09/11/plataforma-paypal-vai-ser-aberta-para-desenvolvedores-isso-vai-mudar-tudo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>{ jQuery } Aprendendo e Usando. (p1)</title>
		<link>http://www.joww.net/blog/2009/08/18/jquery-aprendendo-e-usando-p1/</link>
		<comments>http://www.joww.net/blog/2009/08/18/jquery-aprendendo-e-usando-p1/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 10:32:46 +0000</pubDate>
		<dc:creator>Johnatan Oliveira joww.net</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[programacao]]></category>

		<guid isPermaLink="false">http://www.joww.net/blog/?p=247</guid>
		<description><![CDATA[Vo tentar passar para vocês alguns tópicos sobre a biblioteca jQuery ( http://jquery.com/ ), do início a algo mais complexo.
Ter conhecimento sobre javascript e modelo de objeto de documento (DOM) são requisito necessários. No processo vou passar do simples hello world, a seletores, eventos, ajax, efeitos e etc.
Para um bom acompanhamento e imprescindível compreender, testar e alterar a sua maneira, para melhor aprendizado.]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal.</p>
<p>Vo tentar passar para vocês alguns tópicos sobre a biblioteca jQuery ( http://jquery.com/ ), do início a algo mais complexo.<br />
Ter conhecimento sobre javascript e modelo de objeto de documento (DOM) são requisito necessários. No processo vou passar do simples hello world, a seletores, eventos, ajax, efeitos e etc.<br />
Para um bom acompanhamento e imprescindível compreender, testar e alterar a sua maneira, para melhor aprendizado.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-256" title="jquery" src="http://www.joww.net/blog/wp-content/uploads/2009/08/jquery.jpg" alt="jquery" width="467" height="116" /></p>
<h3>Configuração</h3>
<p>Para começar, nós precisamos de uma cópia da biblioteca jQuery. A versão mais recente ( v1.3.2 em ago/2009 ) pode ser encontrada neste link ( http://docs.jquery.com/Downloading_jQuery ).<br />
Só fazer o download e aplicar no &lt;head&gt; ( &lt;script src=&#8221;jquery-1.3.2.min.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt; ) ou usar direto em ( &lt;script src=&#8221;http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js&#8221;  type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt; ).</p>
<h3>Simples &#8220;Olá jQuery&#8221; num link</h3>
<p>Como quase tudo o que fazemos quando estamos utilizando o jQuery, lê ou manipula um modelo de objeto de documento (DOM), precisamos nos certificar que começamos adicionado eventos ou qualquer outra função, logo que a aplicação esteja pronta.<br />
Para fazer isso, nós registramos o evento ready (pronto) para o documento.</p>
<div style="background-color:#393C40; border:thin solid #5B6066; padding:10px 10px 10px 10px"><span style="color: #cccccc;">$(document).ready(function() {<br />
// faça alguma coisa quando o DOM estiver pronto<br />
}); </span></div>
<p>Colocar um alert nesta função não faz muito sentido, pois o alert não requer que o DOM esteja carregado. Então vamos tentar algo mais sofisticado: Mostrar um alert quando clicarmos o link.</p>
<div style="background-color:#393C40; border:thin solid #5B6066; padding:10px 10px 10px 10px"><span style="color: #cccccc;">$(document).ready(function() {<br />
$(&#8220;a&#8221;).click(function() {<br />
alert(&#8220;Olá jQuery!&#8221;);<br />
});<br />
}) </span></div>
<p>Dessa forma o alert será exibido assim que você clicar no link.</p>
<p>$(&#8220;a&#8221;) é um seletor do jQuery, neste caso, ele seleciona todos os elementos a. O $ por si só é um alias para a &#8220;classe&#8221; jQuery, por outro lado o $() constrói um novo objeto jQuery.<br />
A função click() que chamamos depois é um método do objeto jQuery. Ele liga o evento clique a todos os elementos selecionados (neste caso, um único elemento a) que colocaremos na página e executa a função fornecida quando o evento ocorre.</p>
<p>Isto é similar ao seguinte código:<br />
&lt;a href=&#8221;#&#8221; onclick=&#8221;alert(&#8216;Olá mundo&#8217;)&#8221;&gt;Link&lt;/a&gt;</p>
<p>A diferença é bem óbvia: Nós não precisamos escrever onclick para todo elemento. Nós temos uma separação clara de estrutura (HTML) e comportamento (JS), assim como separamos estrutura e formatação utilizando CSS.</p>
<h3>Final</h3>
<div style="background-color:#393C40; border:thin solid #5B6066; padding:10px 10px 10px 10px"><span style="color: #cccccc;">&lt;script src=&#8221;jquery-1.3.2.min.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
$(document).ready(function() {<br />
$(&#8220;a&#8221;).click(function() {<br />
alert(&#8220;Olá jQuery!&#8221;);<br />
});<br />
});<br />
&lt;/script&gt;</span><span style="color: #cccccc;">&lt;a href=&#8221;#&#8221;&gt;Link&lt;/a&gt; </span></div>
<p>Esse foi simples não é? Vamos elaborar um pouquinho mais! Vamos adicionar o evento click a uma div. Dentro do &lt;body&gt; coloque:</p>
<p><span style="color: #cccccc;">&lt;div id=&#8221;divalerta&#8221;&gt;Exibir msg jQuery&lt;/div&gt;</span></p>
<p>Esse div tem que ter um id, para identificarmos no código jQuery. Para que a div funcione como um botão, aplicaremos um CSS.</p>
<p><span style="color: #cccccc;">&lt;style type=&#8221;text/css&#8221; media=&#8221;screen&#8221; title=&#8221;Estilo criado para o botão&#8221;&gt;<br />
div.botao { line-height:30px; width:105px; padding: 0 10px; background: #e1e1e1; border:1px solid #333; cursor:pointer; }<br />
&lt;/style&gt;</span></p>
<p>Neste caso a função fica:</p>
<p><span style="color: #cccccc;">&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
$(document).ready(function() {<br />
$(&#8220;#divalerta&#8221;).click(function(){<br />
alert(&#8220;Olá jQuery!&#8221;);<br />
});<br />
});<br />
&lt;/script&gt;</span></p>
<p>A parte onde você encontra $(#divalerta) você está definido qual será o objeto que irá disparar a ação, .click(); diz qual ação irá acontecer ao clicar no objeto declarando anteriormente, e alert(); faz com que o alerta seja criado.</p>
<p>Basta testar, salve como .html.</p>
<h3>Final</h3>
<div style="background-color:#393C40; border:thin solid #5B6066; padding:10px 10px 10px 10px"><span style="color: #c0c0c0;">&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;style type=&#8221;text/css&#8221; media=&#8221;screen&#8221; title=&#8221;Estilo criado para o botão&#8221;&gt;<br />
div.botao { line-height:30px; width:125px; padding: 0 10px; background: #bbb; border:1px solid #333; cursor:pointer; }<br />
&lt;/style&gt;<br />
&lt;script src=&#8221;jquery-1.3.2.min.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
$(document).ready(function() {<br />
$(&#8220;#divalerta&#8221;).click(function(){<br />
alert(&#8220;Olá jQuery!&#8221;);<br />
});<br />
});<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id=&#8221;divalerta&#8221; class=&#8221;botao&#8221; &gt;Exibir msg jQuery&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</span></div>
<h3><a href="http://www.joww.net/jquery/jquery_p1.html" target="_blank"><br />
[ TESTE AQUI!! ]</a></h3>
<p>É isso ai pessoal, até a próxima.<br />
Abraços</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joww.net/blog/2009/08/18/jquery-aprendendo-e-usando-p1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introdução a Orientação a Objetos</title>
		<link>http://www.joww.net/blog/2009/08/16/introducao-a-orientacao-a-objetos/</link>
		<comments>http://www.joww.net/blog/2009/08/16/introducao-a-orientacao-a-objetos/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 17:04:18 +0000</pubDate>
		<dc:creator>Johnatan Oliveira joww.net</dc:creator>
				<category><![CDATA[Action Script]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[programacao]]></category>

		<guid isPermaLink="false">http://www.joww.net/blog/?p=241</guid>
		<description><![CDATA[Introdução a Orientação a Objetos e um pouco de action script 3.0]]></description>
			<content:encoded><![CDATA[<h3></h3>
<h3>História</h3>
<p>O termo Programação Orientada a Objetos foi criado por Alan Kay, autor da linguagem de programação Smalltalk. Mas mesmo antes da criação do Smalltalk, algumas das idéias da POO já eram aplicadas, sendo que a primeira linguagem a realmente utilizar estas idéias foi a Simula 67 no ano de 1967. A POO já é bastante antiga, mas só agora vem sendo aceito realmente nas grandes empresas de desenvolvimento de Software. Alguns exemplos de linguagens modernas utilizadas por grandes empresas em todo o mundo que adotaram essas idéias: Java, C#, C++, Object Pascal (Delphi), Ruby, Python.</p>
<p>A maioria das linguagens modernas, adotam parcialmente as idéias do POO, deixando as formas procedurais serem utilizadas normalmente junto com a orientação a objetos, como o C++ por exemplo.</p>
<h3>Visão Geral do Objeto</h3>
<p>OOP (Programação orientada a objetos) é uma maneira de organizar o código em um programa agrupando-o em objetos. O uso de uma abordagem orientada a objetos para organizar um programa permite agrupar partes específicas de informações (por exemplo, informações sobre música, como título do álbum, título da faixa ou nome do artista) juntamente com a funcionalidade comum ou com as ações associadas a essas informações (como “adicionar faixa à lista de reprodução” ou “reproduzir todas as canções desse artista”). Esses itens são combinados em único item, um objeto (por exemplo, um “Album” ou “MusicTrack”).</p>
<p>Um objeto é uma entidade do mundo real que tem uma identidade. Objetos podem representar entidades concretas (um arquivo no meu computador, uma bicicleta) ou entidades conceituais (uma estratégia de jogo, uma política de escalonamento em um sistema operacional). Cada objeto ter sua identidade significa que dois objetos são distintos mesmo que eles apresentem exatamente as mesmas características.</p>
<p>Embora objetos tenham existência própria no mundo real, em termos de linguagem de programação um objeto necessita um mecanismo de identificação. Esta identificação de objeto deve ser única, uniforme e independente do conteúdo do objeto. Este é um dos mecanismos que permite a criação de coleções de objetos, as quais são também objetos em si.</p>
<p>Vários benefícios são obtidos quando se pode agrupar esses valores e funções em conjunto, incluindo apenas a necessidade de manter o rastreio de uma única variável, em vez de várias, organizar a funcionalidade relacionada em conjunto, e poder estruturar programas de maneiras muito correspondentes ao mundo real.</p>
<h3>Classes</h3>
<p>O comportamento de um objeto é representado pelo conjunto de operações que podem ser executadas sobre o objeto. Objetos com a mesma estrutura e o mesmo comportamento são agrupados em classes. Uma classe é uma abstração que descreve propriedades importantes para uma aplicação e simplesmente ignora o resto.</p>
<p>Cada classe descreve um conjunto (possivelmente infinito) de objetos individuais. Cada objeto é dito ser uma instância de uma classe. Assim, cada instância de uma classe tem seus próprios valores para cada atributo, mas dividem os nomes dos atributos e métodos com as outras instâncias da classe. Implicitamente, cada objeto contém uma referência para sua própria classe &#8212; em outras palavras, ele sabe o que ele é.</p>
<h3>Atributos</h3>
<p>A estrutura de um objeto é representada em termos de atributos. Uma característica atribuída a um elemento de classe (como uma propriedade ou método) na definição de classe. Os atributos são usados normalmente para definir se a propriedade ou método estará disponível para acesso por código em outras partes do programa. Por exemplo, private e public são atributos. Um método particular pode ser chamado apenas pelo código dentro da classe, enquanto um método público pode ser chamado por qualquer código no programa.</p>
<p>Um atributo é um valor de dado assumido pelos objetos de uma classe. Nome, idade e peso são exemplos de atributos de objetos Pessoa. Cor, peso e modelo são possíveis atributos de objetos Carro. Cada atributo tem um valor para cada instância de objeto. Por exemplo, o atributo idade tem valor &#8220;29&#8221; no objeto Pedro Y. Em outras palavras, Pedro Y tem 29 anos de idade. Diferentes instâncias de objetos podem ter o mesmo valor para um dado atributo.</p>
<p>Cada nome de atributo é único para uma dada classe, mas não necessariamente único entre todas as classes. Por exemplo, ambos Pessoa e Companhia podem ter um atributo chamado endereço.</p>
<p>No diagrama de classes, atributos são listados no segundo segmento da caixa que representa a classe. O nome do atributo pode ser seguido por detalhes opcionais, tais como o tipo de dado assumido e valor default.</p>
<p>Não se deve confundir identificadores internos de objetos com atributos do mundo real. Identificadores de objetos são uma conveniência de implementação, e não têm nenhum significado para o domínio da aplicação. Por exemplo, CIC e RG não são identificadores de objetos, mas sim verdadeiros atributos do mundo real.</p>
<h3>Operações e Métodos</h3>
<p>Uma operação é uma função ou transformação que pode ser aplicada a ou por objetos em uma classe. Por exemplo, abrir, salvar e imprimir são operações que podem ser aplicadas a objetos da classe Arquivo. Todos objetos em uma classe compartilham as mesmas operações.</p>
<p>Toda operação tem um objeto-alvo como um argumento implícito. O comportamento de uma operação depende da classe de seu alvo. Como um objeto &#8220;sabe&#8221; qual sua classe, é possível escolher a implementação correta da operação. Além disto, outros argumentos (parâmetros) podem ser necessários para uma operação.</p>
<p>Uma mesma operação pode se aplicar a diversas classes diferentes. Uma operação como esta é dita ser polimórfica, ou seja, ela pode assumir distintas formas em classes diferentes.</p>
<p>Um método é a implementação de uma operação para uma classe. Por exemplo, a operação imprimir pode ser implementada de forma distinta, dependendo se o arquivo a ser impresso contém apenas texto ASCII, é um arquivo de um processador de texto ou binário. Todos estes métodos executam a mesma operação &#8212; imprimir o arquivo; porém, cada método será implementado por um diferente código.</p>
<p>A assinatura de um método é dada pelo número e tipos de argumentos do método, assim como por seu valor de retorno. Uma estratégia de desenvolvimento recomendável é manter assinaturas coerentes para métodos implementando uma dada operação, assim como um comportamento consistente entre as implementações.</p>
<p>Em termos de diagramas OMT(Object Modelling Technique), operações são listadas na terceira parte da caixa de uma classe. Cada nome de operação pode ser seguida por detalhes opcionais, tais como lista de argumentos e tipo de retorno. A lista de argumentos é apresentada entre parênteses após o nome da operação. Uma lista de argumentos vazia indica que a operação não tem argumentos; da ausência da lista de argumentos não se pode concluir nada. Caso a operação retorne resultado, este não deve ser omitido &#8212; esta é a forma de distingui-la de operações que não retornam resultado.</p>
<p>Vamos exemplificar a linguagem.</p>
<h3>E pra que serve o Construtor?</h3>
<p>Um construtor tem uma função especial: ele serve para inicializar os atributos e é executado automaticamente sempre que você cria um novo objeto.<br />
Quando você especifica os atributos de uma classe, você apenas diz ao sistema algo como &#8220;objetos desta classe Pessoa vão ter uma variável chamada Nome que é do tipo String, uma variável chamada idade que é do tipo inteiro, etc, etc&#8221;. Mas estas variáveis não são criadas, elas só serão criadas no construtor. O construtor também pode receber parâmetro, desta forma, você pode passar para o construtor uma String contendo o nome da Pessoa que você está criando, sua idade, etc. Normalmente, a sintaxe é algo parecido com isto:</p>
<p>Pessoa joao := new Pessoa( &#8220;João&#8221;, 13 );</p>
<p>Este código gera um novo objeto chamado joao que é do tipo Pessoa e contem os valores &#8220;João&#8221; como nome e 13 como idade.</p>
<p>O mais importante é entender como funciona a comunicação entre os objetos, que sempre segue o seguinte fluxo:</p>
<p>-Um objeto A envia uma mensagem para o objeto B.<br />
-Objeto B verifica qual foi a mensagem que recebeu e executa sua ação correspondente. Esta ação está descrita no método que corresponde a mensagem recebida, e está dentro da Classe a qual este objeto pertence.</p>
<h3>Pacotes</h3>
<p>Falando da linguagem AS3, ela contém os seguintes pacotes:</p>
<p>•    adobe<br />
•    fl<br />
•    flash</p>
<p>Pacotes (packages) é um conjunto de classes. Na verdade, é uma pasta. Então, a grosso modo, um pacote é uma pasta com um monte de classes dentro. Mas, porque agrupar as classes em um pacote? Por uma questão: or-ga-ni-za-ção!</p>
<p>Vamos pegar, por exemplo, o pacote flash. Dentro deste, temos diversos sub-pacotes. Um destes sub-pacotes é o net, que contém um conjunto de classes para enviar e receber dados através de uma rede, como por exemplo, receber dados de um URL, gerenciar arquivos, etc.</p>
<p>Enfim, pacotes são uma forma de organizar melhor suas classes, a fim de encontrá-las facilmente quando precisar. Agora você sabe que, se precisar executar alguma tarefa relacionada a redes, irá procurar no pacote flash.net a classe que atende as suas necessidades.</p>
<p>Dê uma olhada pelas classes do Flash sempre que possível, para que você possa se ambientar com o que a linguagem tem a oferecer, e não ficar perdido quando precisar de algo.</p>
<p>Um bom caminho para dar uma olhada nas classes é o F1, ou o livedocs: <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/" target="_blank">http://help.adobe.com/en_US/AS3LCR/Flash_10.0/</a></p>
<h3>Especializações</h3>
<p>No mundo real, alguns objetos e classes podem ser descritos como casos especiais, ou especializações, de outros objetos e classes. Por exemplo, a classe Notebook Core 2 Duo, é uma especialização da Classe Notebook, que por sua vez é uma especialização da Classe Computadores. Não seria interessante, muito menos necessário que tudo que foi criado e descrito para Classe Computadores fosse copiado e colado para Classes subseqüentes como Notebook.</p>
<h3>Herança</h3>
<p>Herança é o mecanismo do paradigma de orientação a objetos que permite compartilhar atributos e operações entre classes baseada em um relacionamento hierárquico. Uma classe pode ser definida de forma genérica e depois refinada sucessivamente em termos de subclasses ou classes derivadas.</p>
<p>Cada subclasse incorpora, ou herda todas as propriedades de sua superclasse (ou classe base) e adiciona suas propriedades únicas e particulares. As propriedades da classe base não precisam ser repetidas em cada classe derivada. Esta capacidade de fatorar as propriedades comuns de diversas classes em uma superclasse pode reduzir dramaticamente a repetição de código em um projeto ou programa, sendo uma das principais vantagens da abordagem de orientação a objetos.</p>
<h3>Vantagens da POO</h3>
<p>- Os sistemas, em geral, possuem uma divisão de código um pouco mais lógica e melhor encapsulada do que a empregada nos sistemas não orientados a objetos. Isto torna a manutenção e extensão do código mais fácil e com menos riscos de inserção de bugs. Também é mais fácil reaproveitar o código.</p>
<p>- É mais fácil gerenciar o desenvolvimento deste tipo de software quando temos uma equipe grande. Podemos fazer uma especificação UML antes de iniciar o desenvolvimento do software em si, e em seguida dividirmos o sistema em classes e pacotes, e cada membro da equipe pode ficar responsável por desenvolver uma parte do sistema.<br />
Desvantagens da POO</p>
<p>- O aprendizado do paradigma de programação orientada a objetos é bem mais complicado no início do que os velhos sistemas procedurais. Para começar a programar é necessário ter estabelecido uma série de conceitos bastante complexos. Já na programação procedural tradicional, basta decorar meia dúzia de comandos e você já consegue fazer um programa simples.</p>
<p>- Dificilmente uma linguagem orientada a objetos conseguirá ter um desempenho em tempo de execução superior a linguagens não orientadas a objetos.</p>
<h3>Bibliografia</h3>
<p>Adobe ActionScript 3.0<br />
Linha de Código<br />
Mozart Petter<br />
Marcio Frayze David<br />
Wikipedia</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joww.net/blog/2009/08/16/introducao-a-orientacao-a-objetos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Portfólio: Sistema de Inscrições Online com Boleto Bancário (2009)</title>
		<link>http://www.joww.net/blog/2009/08/01/portfolio-sistema-de-inscricoes-online-com-boleto-bancario-2009/</link>
		<comments>http://www.joww.net/blog/2009/08/01/portfolio-sistema-de-inscricoes-online-com-boleto-bancario-2009/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 12:16:45 +0000</pubDate>
		<dc:creator>Johnatan Oliveira joww.net</dc:creator>
				<category><![CDATA[Portfólio]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programacao]]></category>

		<guid isPermaLink="false">http://www.joww.net/blog/?p=148</guid>
		<description><![CDATA[Portfólio: Sistema de Inscrições Online com Boleto Bancário]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-149" title="Portfólio: Sistema de Inscrições Online com Boleto Bancário" src="http://www.joww.net/blog/wp-content/uploads/2009/08/sysinscricoes1.jpg" alt="Portfólio: Sistema de Inscrições Online com Boleto Bancário" width="600" height="294" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-149" title="Portfólio: Sistema de Inscrições Online com Boleto Bancário" src="http://www.joww.net/blog/wp-content/uploads/2009/08/sysinscricoes2.jpg" alt="Portfólio: Sistema de Inscrições Online com Boleto Bancário" width="600" height="294" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-149" title="Portfólio: Sistema de Inscrições Online com Boleto Bancário" src="http://www.joww.net/blog/wp-content/uploads/2009/08/sysinscricoes3.jpg" alt="Portfólio: Sistema de Inscrições Online com Boleto Bancário" width="600" height="294" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-149" title="Portfólio: Sistema de Inscrições Online com Boleto Bancário" src="http://www.joww.net/blog/wp-content/uploads/2009/08/sysinscricoes4.jpg" alt="Portfólio: Sistema de Inscrições Online com Boleto Bancário" width="600" height="294" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joww.net/blog/2009/08/01/portfolio-sistema-de-inscricoes-online-com-boleto-bancario-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
