¿Qué es un constructor?
Constructor - Introducción
El constructor es un método especial que se utiliza principalmente para inicializar el objeto al crear el objeto, es decir, asignar valores iniciales a las variables miembro del objeto
Siempre se usa con el operador new en una declaración para crear un objeto. Una clase particular puede tener múltiples constructores, que se pueden distinguir según la cantidad de parámetros o el tipo de los parámetros, es decir, la sobrecarga del. constructor
Constructor: la diferencia entre constructor y otros métodos
1. El nombre del constructor debe ser exactamente el mismo que el nombre de la clase, mientras que el método general no puede ser el mismo; el nombre de la clase.
2 La función del constructor se utiliza principalmente para definir el estado inicializado cuando se crea el objeto de la clase. No tiene valor de retorno y no se puede modificar con void. no solo no devuelve nada automáticamente, sino que tampoco tiene ninguna opción. Otros métodos tienen valores de retorno. Incluso si es un valor de retorno nulo, aunque el cuerpo del método en sí no devolverá nada automáticamente, aún se puede hacer que devuelva algo. , y estas cosas pueden ser inseguras.
3. El constructor no se puede llamar directamente. Debe llamarse automáticamente cuando se crea el objeto a través del nuevo operador. El método general se llama cuando se ejecuta el programa.
4. Al definir una clase, en circunstancias normales, se mostrará el constructor de la clase y se puede omitir el trabajo de inicialización especificado en la función. Sin embargo, el compilador de Java proporcionará un constructor predeterminado. Este constructor predeterminado no toma parámetros. El método general no existe. Esta característica
5 Cuando una clase solo define un constructor privado, su objeto no se puede crear a través de la nueva palabra clave. Cuando una clase no define ninguno. constructor, el compilador de C# generará automáticamente uno para él. Un constructor predeterminado sin parámetros.
Constructor - Constructor en C
El formato de definición del constructor de C es: constructor
clase
{
p>
public:
(Lista de parámetros)
//...(También puede declarar otras funciones miembro)
}; /p >
: (Lista de parámetros)
{
//Cuerpo de la función
}
La siguiente definición es legal :
clase T
{
público:
T(int a=0){i=a;}//Construcción Las funciones pueden escribirse directamente dentro de la definición de clase y también pueden tener listas de parámetros.
private: int i;
};
Cuando no hay ningún destructor en el programa, el sistema generará automáticamente el siguiente constructor:
: (){}, es decir, no realizar ninguna operación.
Constructor - Ejemplo de C
//Tenga en cuenta que si copia este código directamente en el compilador, se puede informar un error porque se agregará un marcador de posición chino antes del código cuando se inicie la web. se genera la página.
//Es mejor escribir el código nuevamente
#include
usando el espacio de nombres
class; hora
{
público:
hora() //constructor.Constructor
{
hora= 0;
p>minuto=0
seg=0;
}
vacío set_time();
void show_time( );
privado:
int hora;
int minuto
int seg; >
};
int main()
{
hora de clase t1; /p>
t1.set_time();
t1.show_time();
devuelve 0
}
tiempo vacío::set_time()
{
cin gt;
cin gt; cin gt; gt; seg
}
tiempo vacío::show_time()
{ coutlt;}
Estado de ejecución del programa :
0:0:0
10 11 11 Ingresar
10:11:11
Cada vez que se crea una clase o estructura , se llamará su constructor. Una clase o estructura puede tener múltiples constructores que acepten diferentes parámetros. Los constructores permiten a los programadores establecer valores predeterminados, limitar la creación de instancias y escribir código flexible y legible.
Código de muestra JAVA:
la clase pública UserManagerImpl implementa UserManager {
UserDao privado userDao
UserManagerImpl público (UserDao userDao){
this.userDao=userDao;
}
guardado vacío público (nombre de usuario de cadena, contraseña de cadena){
this.userDao.save (nombre de usuario, contraseña);
}
}
Constructor en PHP
Declaración de constructor y declaración de otras operaciones Lo mismo, excepto que su nombre debe tener dos guiones bajos __construct(). Este es un cambio en PHP5; en la versión PHP4, el nombre del constructor debe ser el mismo que el nombre de la clase. Para compatibilidad con versiones anteriores, si una clase no tiene un método llamado __construct(), PHP buscará un método con el mismo nombre que la clase.
Formato: función __construct ([parámetro]) { ... ... }
Ejemplo:
persona de clase{
público $nombre;
public $edad;
función _ _construct(){ // Constructor
$this-gt; /p>
$this-gt;age=28;
}
función say(){
echo "mi nombre es ". this-gt;nombre."
";
echo "mi edad es ".$this-gt;edad."
"; >
echo "mi edad es ".$this-gt;age."
"; p>
}
}
$ por=nueva persona();
$por-gt; decir();
$por-gt; nombre="zhangsan"; -gt; age=26;
$per-gt; say(); gt
Ejemplo de C#
Los constructores son métodos de clase que se ejecutan al crear. un objeto de un tipo determinado. El constructor tiene el mismo nombre que la clase y normalmente inicializa los miembros de datos del nuevo objeto.
En el siguiente ejemplo, una clase llamada Taxi se define utilizando un constructor simple. Luego use el nuevo operador para crear una instancia de la clase. Inmediatamente después de asignar memoria para el nuevo objeto, el nuevo operador llama al constructor Taxi.
Taxi de clase pública{ public bool isInitialized; Taxi público() { isInitialized = true;}}class TestTaxi{ static void Main() { Taxi t = new Taxi(); .isInitializado); }}