python y php

Contructores múltiples en Python y PHP

Mae mía, ni en python 2.6.x ni en php 5.x se pueden escribir clases con contructores multiples, como se hace con toda normalidad en C# por ejemplo. Hace tiempo pensé un par de trucos parecidos para cuando estoy con lenguajes con esta particularidad y que me gustaría compartir, pero vamos que hay mil formas de hacerlo.

Python:

class Clase():
_id=None</code>

def __init__(self,*args):
if len(args) != 1:
if isinstance(args[0], str):
self.__constructor_uno (int(args[0]))
else:
self.__constructor_dos()

def __constructor_uno(self, id):
self._id=id

def __constructor_dos(self):
self._id=0

PHP:

class Clase {</code>

private $id;

function __construct() {
$args = func_get_args();
$nargs = func_num_args();
switch($nargs) {
case 1:
self::__constructor_uno($args[0]);
break;
case 2:
self::__constructor_dos();
break;
}
}

function __constructor_uno($get) {
$id=$get;
}

function __constructor_dos() {
$id=0;
}
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *