<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Wii are Nerds &#187; Web development</title>
	<atom:link href="http://blog.wiiarenerds.com.br/tag/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.wiiarenerds.com.br</link>
	<description>Tudo o que você sempre quis saber sobre jogos</description>
	<lastBuildDate>Wed, 25 Aug 2010 03:24:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.6.3" -->
	<copyright>2009 </copyright>
	<managingEditor>bruno.leles86@gmail.com (Wii are Nerds)</managingEditor>
	<webMaster>bruno.leles86@gmail.com (Wii are Nerds)</webMaster>
	<category>posts</category>
	<ttl>1440</ttl>
	<image>
		<url>http://blog.wiiarenerds.com.br/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Wii are Nerds &#187; Web development</title>
		<link>http://blog.wiiarenerds.com.br</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Blog sobre tecnologia e tudo o que um nerd adora saber</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Technology" />
	<itunes:category text="Technology">
		<itunes:category text="Podcasting" />
	</itunes:category>
	<itunes:category text="Technology">
		<itunes:category text="Tech News" />
	</itunes:category>
	<itunes:author>Wii are Nerds</itunes:author>
	<itunes:owner>
		<itunes:name>Wii are Nerds</itunes:name>
		<itunes:email>bruno.leles86@gmail.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://blog.wiiarenerds.com.br/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>PHP Orientado a Objeto, Segunda Parte.</title>
		<link>http://blog.wiiarenerds.com.br/2008/10/20/php-orientado-a-objeto-segunda-parte/</link>
		<comments>http://blog.wiiarenerds.com.br/2008/10/20/php-orientado-a-objeto-segunda-parte/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 01:36:00 +0000</pubDate>
		<dc:creator>GuZ</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[orientação a objeto]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://blog.wiiarenerds.com.br/2008/10/20/php-orientado-a-objeto-segunda-parte/</guid>
		<description><![CDATA[Como eu prometi no post anterior, vou colocar aqui no Wii Are Nerds a segunda parte do tutorial sobre como “brincar” de orientação a objetos com PHP. Subclasses: Uma classe pode trabalhar com uma extensão, herdando assim todas as variáveis e funções da classe-pai. No PHP não é permitido uma herança múltipla, ou seja, a [...]


Nenhum post relacionado.]]></description>
			<content:encoded><![CDATA[<p>Como <a href="http://guz.oxenti.com/">eu</a> prometi no post anterior, vou colocar aqui no <a href="http://blog.wiiarenerds.com.br/">Wii Are Nerds</a> a segunda parte do tutorial sobre como “brincar” de orientação a objetos com PHP. </p>
<p><strong>Subclasses:</strong></p>
<p>Uma classe pode trabalhar com uma extensão, herdando assim todas as variáveis e funções da classe-pai. No PHP não é permitido uma herança múltipla, ou seja, a classe-filha só pode ter um pai ou simplificando uma classe pode ser extensão de apenas UMA outra classe.</p>
<p>Código:</p>
<ol>
<li><font color="#464a4c">class novaconta extends conta{</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var $num;</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; function vernum(){</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return $this-&gt;num;</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</font> </li>
<li><font color="#464a4c">}</font> </li>
</ol>
<p>A classe que eu mostrei agora tem origem na classe do exemplo anterior ela tem todas as variáveis, todas as funções da classe anterior e ainda ganhou a variável <em>$num</em> e a função <em>vernum().</em></p>
<p>No mundo real, poderíamos pegar uma impressora e utiliza-la como exemplo:</p>
<ol>
<li><font color="#464a4c">class impressora {</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160;&#160;&#160; $var cartucho;</font> </li>
<li><font color="#464a4c">&#160;<font color="#464a4c">&#160;&#160;&#160;&#160;&#160; </font>$var tinta;</font> </li>
<li><font color="#464a4c">…</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160;&#160;&#160; </font><font color="#464a4c">function imprimir()</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160;&#160;&#160; </font><font color="#464a4c">{</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160;&#160;&#160; </font><font color="#464a4c">}</font> </li>
<li><font color="#464a4c">}</font> </li>
<li><font color="#464a4c">class multifuncional extends impressora {</font> </li>
<li>&#160;&#160;&#160;&#160; $var copiadora; </li>
<li>&#160;&#160;&#160;&#160; … </li>
<li>&#160;&#160;&#160;&#160; function scan() </li>
<li>&#160;&#160;&#160;&#160; { </li>
<li>&#160;&#160;&#160;&#160; } </li>
<li>&#160;&#160;&#160;&#160; </li>
<li>&#160;&#160;&#160; function copiar() </li>
<li>&#160;&#160; {&#160;&#160; </li>
<li>&#160;&#160;&#160; </li>
<li>&#160; } </li>
<li>} </li>
</ol>
<p>É bom lembrar que o PHP trabalha de forma estruturada, ou seja, ele lê o código de cima para baixo. Então é bom ver a ordem em que as classes são criadas.</p>
<p>As Classes precisam ser criadas ANTES de serem usadas, por exemplo, se eu tivesse colocado uma chamada para a função imprimir() na primeira linha do código, o PHP não encontraria minha impressora.</p>
<p>(obs&#8230; o exemplo da impressora é apenas para facilitar a abstração) </p>
<p><strong>Construtores:</strong></p>
<p>Um construtor é uma função que é chamada automaticamente quando a classe é definida pelo operador <em>new</em>. e deve ter o mesmo nome da classe que ele pertence:</p>
<ol>
<li><font color="#464a4c">class conta{</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160; var $saldo;</font> </li>
<li><font color="#464a4c">function conta()</font> </li>
<li><font color="#464a4c">{</font> </li>
<li><font color="#464a4c">&#160;&#160;&#160; $this-&gt;saldo = 100000000 # Queria que o Banco do Brasil tivesse feito isso qdo eu abri minha conta :P</font> </li>
<li><font color="#464a4c">}</font> </li>
<li><font color="#464a4c">function ver()</font> </li>
<li><font color="#464a4c">{</font> </li>
<li><font color="#464a4c">….</font> </li>
<li><font color="#464a4c">}^</font> </li>
<li>} </li>
</ol>
<p>Vejam que eu resumi o código (para o post não ficar muito grande).</p>
<p>Agora nosso banco tem uma função que adiciona R$ 100.000.000,00 no saldo de uma conta quando ela é criada. Tudo isso foi definido na função <em>conta(). </em>O mais interessante é que os construtores suportam argumentos, o que torna este recurso muito mais interessante.</p>
<p>É importante ressaltar que embora os valores sejam herdados, o construtor da classe pai não é iniciado quando se chama um operador da classe-filha.</p>
<p>Bom, minha introdução a Orientação a Objeto fica por aqui, e agora cabe a você desenvolver seus programas orientados a objeto utilizando a linguagem PHP.</p>
<p><strong>Algumas ferramentas para desenvolver em PHP usando Orientação a Objeto:</strong></p>
<p><font color="#000000">ZendStudio: Para quem está programando em PHP e precisa usar OO, o Zend Studio é a melhor ferramenta que eu conheço para programar. O Problema é que eu não encontrei ele disponível para compra no Brasil.</font></p>
<p><font color="#000000">Zend Framework. Pra que ficar reinventando a roda? Use o framework ZEND e facilite seu trabalho. ;-). </font></p>
<p><font color="#000000"></font></p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fblog.wiiarenerds.com.br%2F2008%2F10%2F20%2Fphp-orientado-a-objeto-segunda-parte%2F';
  addthis_title  = 'PHP+Orientado+a+Objeto%2C+Segunda+Parte.';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>


<p>Nenhum post relacionado.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.wiiarenerds.com.br/2008/10/20/php-orientado-a-objeto-segunda-parte/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
