<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_Trazos</id>
	<title>Curso POO PHP Trazos - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_Trazos"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Trazos&amp;action=history"/>
	<updated>2026-10-22T08:38:07Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Trazos&amp;diff=36770&amp;oldid=prev</id>
		<title>Vlourido: /* Trazos */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Trazos&amp;diff=36770&amp;oldid=prev"/>
		<updated>2013-08-01T11:20:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Trazos&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Trazos ==&lt;br /&gt;
&lt;br /&gt;
Os &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/es/language.oop5.traits.php trazos]&amp;#039;&amp;#039;&amp;#039; (en inglés &amp;#039;&amp;#039;traits&amp;#039;&amp;#039;) apareceron na versión 5.4 da linguaxe. É un mecanismo que permite agrupar propiedades e métodos comúns a varias clases. Non son clases, e por tanto non poden ser instanciados.&lt;br /&gt;
&lt;br /&gt;
Para usar un trazo dende unha clase emprégase o operador &amp;#039;&amp;#039;&amp;#039;use&amp;#039;&amp;#039;&amp;#039;. O resultado de usar un trazo dende unha clase é similar a copiar e pegar o seu contido dentro da clase. Por exemplo, podemos empregar traits para resolver o problema da [[Curso_POO_PHP_Herdanza#Enlace_est.C3.A1tico_en_tempo_de_execuci.C3.B3n|herdanza de métodos estáticos]] do seguinte xeito.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
trait Produto {&lt;br /&gt;
    private static $num_produtos = 0; &lt;br /&gt;
    public static function novoProduto() {&lt;br /&gt;
         self::$num_produtos++;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
class TV {&lt;br /&gt;
    use Produto;&lt;br /&gt;
    …&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Ordenador {&lt;br /&gt;
    use Produto;&lt;br /&gt;
    …&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Os trazos non son un mecanismo de herdanza. Por exemplo, cando un trait contén unha propiedade ou un método privado, como no exemplo anterior, este pode ser accedido dende a clase ou clases que fan uso do trait.&lt;br /&gt;
&lt;br /&gt;
Poden ser empregados en calquera clase independentemente á estrutura xerárquica de herdanza existente. Tamén é posible crear clases que empreguen dous ou máis trazos ao mesmo tempo, separando os seus nomes por unha coma.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
class Ordenador {&lt;br /&gt;
    use Produto, Singleton;&lt;br /&gt;
    …&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Vlourido|Víctor Lourido]] 13:07 1 ago 2013 (CEST)&lt;/div&gt;</summary>
		<author><name>Vlourido</name></author>
	</entry>
</feed>