Den Konstruktor verstehen
Solidität
Der Soliditätskonstruktor wird automatisch ausgeführt, wenn der Vertrag bereitgestellt wird. Wenn der Vertrag in anderen Verträgen über neue oder andere Methoden instanziiert wird, wird der Konstruktor nicht ausgeführt.
contract TestContract{
address public proxyAddress;
constructor(){
proxyAddress=msg.sender;
}
}
contract Validate{
function newContract() external returns(address){
TestContract test=new TestContract();
return address(test);
}
}
Andere Hochsprachen
Häufig verwendete Programmiersprachen wie Java, Go, Python und andere Hochsprachen führen beim Instanziieren von Objekten ihre Konstruktoren aus.
Zusammenfassen
Die Ausführungslogik des Konstruktors ist inkonsistent: Solidity führt ihn nur einmal während der Bereitstellung aus, während andere Sprachen ihn jedes Mal ausführen, wenn das Objekt instanziiert wird.