Commit db20d76f authored by Ivan D'halluin's avatar Ivan D'halluin

Merge branch 'master' of gitlab.utc.fr:crozatst/hdoc

parents f52d22d3 1ff3b8cc
<?xml version="1.0" encoding="UTF-8"?>
<project name="wikiToHdoc" default="main" basedir="..">
<!-- input path -->
<property name="in" value="${basedir}/input"/>
<!-- inputFile is the only required parameter to run the script -->
<property name="inputFile" value="source.xml"/>
<property name="inputFile" value="${inputFile}/source.xml"/>
<basename property="filename" file="${inputFile}" suffix=".xml"/>
<!-- Folder paths -->
......@@ -30,7 +33,7 @@
<mkdir dir="${hdocResultPath}"/>
<!-- Making tmp xml wikipedia file without some elements which are not useful -->
<xslt classpath="ant/saxon9he.jar" in="ant/${inputFile}" out="${tmpFolderPath}/${filename}_prepared.xml" style="${xsltFolderPath}/prepare_wiki_to_hdoc.xsl">
<xslt classpath="lib/saxon9he.jar" in="input/${inputFile}" out="${tmpFolderPath}/${filename}_prepared.xml" style="${xsltFolderPath}/prepare_wiki_to_hdoc.xsl">
<factory name="net.sf.saxon.TransformerFactoryImpl"/>
</xslt>
</target>
......@@ -49,15 +52,20 @@
</rootfiles>
</container>
</echoxml>
<xslt classpath="ant/saxon9he.jar" in="${tmpFolderPath}/containerTmp.xml" out="${tmpHdocResultFolderPath}/META-INF/container.xml" style="${xsltFolderPath}/addNamespaceToContainer.xsl"/>
<xslt classpath="lib/saxon9he.jar" in="${tmpFolderPath}/containerTmp.xml" out="${tmpHdocResultFolderPath}/META-INF/container.xml" style="${xsltFolderPath}/addNamespaceToContainer.xsl"/>
</target>
<target name="transformWikiToHdoc">
<!-- Applying wikipedia -> hdoc -->
<xslt classpath="ant/saxon9he.jar" in="${tmpFolderPath}/${filename}_prepared.xml" out="${hdocResultPath}/${filename}.html" style="${xsltFolderPath}/wiki_to_hdoc.xsl">
<xslt classpath="lib/saxon9he.jar" in="${tmpFolderPath}/${filename}_prepared.xml" out="${hdocResultPath}/${filename}.html" style="${xsltFolderPath}/wiki_to_hdoc.xsl">
<factory name="net.sf.saxon.TransformerFactoryImpl"/>
</xslt>
<!-- Copy listing files -->
<copy todir="${tmpHdocResultFolderPath}/listing" >
<fileset dir="${hdocResultPath}/listing" includes="**"/>
</copy>
<!-- Copy of the html file, hdoc needs "container.xml" file, not a html. The html file can be useful to the user -->
<copy file="${hdocResultPath}/${filename}.html" tofile="${tmpHdocResultFolderPath}/content.xml"/>
</target>
......
......@@ -67,6 +67,11 @@
<factory name="net.sf.saxon.TransformerFactoryImpl"/>
</xslt>
<!-- Copy listing files -->
<copy todir="${tmpHdocResultFolderPath}/listing" >
<fileset dir="${hdocResultPath}/listing" includes="**"/>
</copy>
<!-- Copy of the html file, hdoc needs "container.xml" file, not a html. The html file can be useful to the user -->
<copy file="${hdocResultPath}/${filename}.html" tofile="${tmpHdocResultFolderPath}/content.xml"/>
</target>
......
......@@ -3,6 +3,7 @@
<!-- inputFile is the only required parameter to run the script -->
<property name="inputFile" value="source.xml"/>
<!-- Name of the output file -->
<basename property="filename" file="${inputFile}" suffix=".xml"/>
<!-- Folder paths -->
......@@ -24,6 +25,7 @@
<ant antfile="${basedir}/hdoc_to_opale/hdoc_to_opale.ant" dir="${basedir}/hdoc_to_opale">
<property name="InputPath" value="${hdocResultPath}/${filename}.hdoc"/>
<property name="OutputPath" value="${hdocResultPath}/${filename}.scar"/>
<property name="OutputPathDivided" value="${hdocResultPath}/${filename}_divided.scar"/>
</ant>
</target>
</project>
\ No newline at end of file
......@@ -340,18 +340,6 @@
<ref name="VideoType"/>
</element>
</define>
<!-- Listing Informatique -->
<define name="ListingInformatique">
<element name="ListingInformatique">
<attribute name="language">
<text/>
</attribute>
<element name="content">
<text/>
</element>
</element>
</define>
<!-- Other external resources -->
<define name="Object">
......
......@@ -68,7 +68,23 @@
<choice>
<value>application/vnd.oasis.opendocument.graphics </value>
<value>application/vnd.oasis.opendocument.spreadsheet</value>
<value>application/pdf</value>
<value>application/pdf</value>
<!-- xml -->
<value>application/xml</value>
<!-- .java -->
<value>text/x-java-source</value>
<!-- .cpp et .c -->
<value>text/x-c</value>
<!-- .py -->
<value>text/x-script.phyton</value>
<!-- .js -->
<value>application/x-javascript</value>
<!-- .html -->
<value>text/html</value>
<!-- .css -->
<value>text/css</value>
<!-- json -->
<value>application/json</value>
</choice>
</attribute>
</define>
......
<!DOCTYPE html>
<html lang="fr" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>Constructeur (programmation) — Wikipédia</title>
<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>
<script>window.RLQ = window.RLQ || []; window.RLQ.push( function () {
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Constructeur_(programmation)","wgTitle":"Constructeur (programmation)","wgCurRevisionId":112671974,"wgRevisionId":112671974,"wgArticleId":1042661,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Wikipédia:ébauche informatique","Portail:Programmation informatique/Articles liés","Portail:Informatique/Articles liés","Programmation orientée objet"],"wgBreakFrames":false,"wgPageContentLanguage":"fr","wgPageContentModel":"wikitext","wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"wgMonthNamesShort":["","janv","fév","mars","avr","mai","juin","juil","août","sept","oct","nov","déc"],"wgRelevantPageName":"Constructeur_(programmation)","wgRelevantArticleId":1042661,"wgIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgWikiEditorEnabledModules":{"toolbar":true,"dialogs":true,"preview":false,"publish":false},"wgBetaFeaturesFeatures":[],"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"fr","pageLanguageDir":"ltr","usePageImages":true,"usePageDescriptions":true},"wgULSAcceptLanguageList":["fr-fr","fr","en-us","en"],"wgULSCurrentAutonym":"français","wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}","wgNoticeProject":"wikipedia","wgCentralNoticeCategoriesUsingLegacy":["Fundraising","fundraising"],"wgWikibaseItemId":"Q1049476","wgVisualEditorToolbarScrollOffset":0}); /* @nomin */mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"variant":"fr"});});mw.loader.implement("user.tokens",function ( $, jQuery ) {
mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\"}); /* @nomin */ ;
});mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","ext.centralauth.centralautologin","mmv.head","ext.visualEditor.desktopArticleTarget.init","ext.uls.init","ext.uls.interface","ext.centralNotice.bannerController","skins.vector.js"]);
} );</script>
<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=fr&amp;modules=ext.gadget.ArchiveLinks%2CExternalSearch%2CMonobookToolbarStandard%2CWdsearch%2CWikiMiniAtlas%2CWikiOpenStreetMap%2CnewCollapsible%7Cext.pygments%2CwikimediaBadges%7Cext.uls.nojs%7Cext.visualEditor.desktopArticleTarget.noscript%7Cmediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.raggett%2CsectionAnchor%7Cmediawiki.skinning.interface%7Cskins.vector.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector" />
<meta name="ResourceLoaderDynamicStyles" content="" />
<link rel="stylesheet" href="/w/load.php?debug=false&amp;lang=fr&amp;modules=site&amp;only=styles&amp;skin=vector" />
<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}</style>
<script async="" src="/w/load.php?debug=false&amp;lang=fr&amp;modules=startup&amp;only=scripts&amp;skin=vector"></script>
<meta name="generator" content="MediaWiki 1.27.0-wmf.7" />
<link rel="alternate" href="android-app://org.wikipedia/http/fr.m.wikipedia.org/wiki/Constructeur_(programmation)" />
<link rel="alternate" type="application/x-wiki" title="Modifier" href="/w/index.php?title=Constructeur_(programmation)&amp;action=edit" />
<link rel="edit" title="Modifier" href="/w/index.php?title=Constructeur_(programmation)&amp;action=edit" />
<link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png" />
<link rel="shortcut icon" href="/static/favicon/wikipedia.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Wikipédia (fr)" />
<link rel="EditURI" type="application/rsd+xml" href="//fr.wikipedia.org/w/api.php?action=rsd" />
<link rel="copyright" href="//creativecommons.org/licenses/by-sa/3.0/" />
<link rel="alternate" type="application/atom+xml" title="Flux Atom de Wikipédia" href="/w/index.php?title=Sp%C3%A9cial:Modifications_r%C3%A9centes&amp;feed=atom" />
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Constructeur_(programmation)" />
<link rel="dns-prefetch" href="//meta.wikimedia.org" />
<!--[if lt IE 7]><style type="text/css">body{behavior:url("/w/static/1.27.0-wmf.7/skins/Vector/csshover.min.htc")}</style><![endif]-->
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-Constructeur_programmation skin-vector action-view">
<div id="mw-page-base" class="noprint"></div>
<div id="mw-head-base" class="noprint"></div>
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<div id="siteNotice"><!-- CentralNotice --></div>
<div class="mw-indicators">
</div>
<h1 id="firstHeading" class="firstHeading" lang="fr">Constructeur (programmation)</h1>
<div id="bodyContent" class="mw-body-content">
<div id="siteSub">Un article de Wikipédia, l&#039;encyclopédie libre.</div>
<div id="contentSub"></div>
<div id="jump-to-nav" class="mw-jump">
Aller à : <a href="#mw-head">navigation</a>, <a href="#p-search">rechercher</a>
</div>
<div id="mw-content-text" lang="fr" dir="ltr" class="mw-content-ltr"><div class="homonymie"><a href="/wiki/Aide:Homonymie" title="Aide:Homonymie"><img alt="Page d'aide sur l'homonymie" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Disambig_colour.svg/20px-Disambig_colour.svg.png" width="20" height="15" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Disambig_colour.svg/30px-Disambig_colour.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Disambig_colour.svg/40px-Disambig_colour.svg.png 2x" data-file-width="272" data-file-height="200" /></a> Pour les articles homonymes, voir <a href="/wiki/Constructeur" title="Constructeur" class="mw-disambig">Constructeur</a>.</div>
<div class="plainlinks bandeau-niveau-ebauche bandeau js-no-interprojets">
<table style="background-color:transparent">
<tr>
<td class="bandeau-icone">
<div style="text-align:center;white-space:nowrap"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Crystal_mycomputer.png/35px-Crystal_mycomputer.png" width="35" height="35" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Crystal_mycomputer.png/53px-Crystal_mycomputer.png 1.5x, //upload.wikimedia.org/wikipedia/commons/e/e3/Crystal_mycomputer.png 2x" data-file-width="64" data-file-height="64" /></div>
</td>
<td>
<div class="bandeau-titre"><strong>Cet article est une <a href="/wiki/Aide:%C3%89bauche" title="Aide:Ébauche">ébauche</a> concernant l’<a href="/wiki/Portail:Informatique" title="Portail:Informatique">informatique</a>.</strong></div>
<div class="bandeau-texte">Vous pouvez partager vos connaissances en l’améliorant (<b><a href="/wiki/Aide:Comment_modifier_une_page" title="Aide:Comment modifier une page">comment ?</a></b>) selon les recommandations des <a href="/wiki/Projet:Accueil" title="Projet:Accueil">projets correspondants</a>.</div>
</td>
</tr>
</table>
</div>
<p>Un <b>constructeur</b> est, en <a href="/wiki/Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">programmation orientée objet</a>, une <a href="/wiki/Fonction_informatique" title="Fonction informatique">fonction</a> particulière appelée lors de l'<a href="/wiki/Instanciation" title="Instanciation" class="mw-redirect">instanciation</a>. Elle permet d'<a href="/wiki/Allocation_de_m%C3%A9moire" title="Allocation de mémoire">allouer</a> la mémoire nécessaire à l'objet et d'initialiser ses <a href="/wiki/Attribut_(informatique)" title="Attribut (informatique)">attributs</a>.</p>
<p>Si le langage l'autorise, la <a href="/wiki/Surd%C3%A9finition" title="Surdéfinition" class="mw-redirect">surcharge</a> est possible et les constructeurs se différencient par le nombre et le type des paramètres passés et renvoyés mais aussi par le formalisme employé. Dans de nombreux langages, on distingue certains constructeurs en particulier&#160;:</p>
<ul>
<li>le <i>constructeur par défaut</i> n'a aucun argument&#160;;</li>
<li>le <i>constructeur par recopie</i> a un unique argument du même type que l'objet à créer (généralement sous forme de référence constante) et il recopie les attributs depuis l'objet passé en argument sur l'objet à créer.</li>
</ul>
<p>Ces deux constructeurs ont souvent une définition attribuée par défaut par le <a href="/wiki/Compilateur" title="Compilateur">compilateur</a>. Le constructeur par défaut n'a alors aucun effet&#160;; le constructeur de recopie par contre recopiera les valeurs de tous les membres de l'objet donné vers l'objet courant. Ceci peut s'avérer particulièrement dangereux, spécialement dans le cas où des <a href="/wiki/Pointeur_(programmation)" title="Pointeur (programmation)">pointeurs</a> sont alloués par le constructeurs et libérés par le <a href="/wiki/Destructeur" title="Destructeur">destructeur</a>.</p>
<p></p>
<div id="toc" class="toc">
<div id="toctitle">
<h2>Sommaire</h2>
</div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#En_Java"><span class="tocnumber">1</span> <span class="toctext">En Java</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#En_C.2B.2B"><span class="tocnumber">2</span> <span class="toctext">En C++</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#En_C.23"><span class="tocnumber">3</span> <span class="toctext">En C#</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#Critique"><span class="tocnumber">4</span> <span class="toctext">Critique</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="#Voir_aussi"><span class="tocnumber">5</span> <span class="toctext">Voir aussi</span></a></li>
</ul>
</div>
<p></p>
<h2><span class="mw-headline" id="En_Java">En Java</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Constructeur_(programmation)&amp;veaction=edit&amp;vesection=1" title="Modifier la section : En Java" class="mw-editsection-visualeditor">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Constructeur_(programmation)&amp;action=edit&amp;section=1" title="Modifier la section : En Java">modifier le code</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>En <a href="/wiki/Java_(langage)" title="Java (langage)">Java</a>, <i>new</i> est un opérateur unaire de construction qui crée un nouvel objet ou un nouveau tableau.</p>
<p>Pour créer un nouvel objet, le mot-clé <i>new</i> doit être suivi d'une méthode qui soit un constructeur. Par exemple, on pourra avoir&#160;:</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="n">MaClasse</span> <span class="n">obj</span><span class="o">;</span>
<span class="o">...</span>
<span class="n">obj</span> <span class="o">=</span> <span class="k">new</span> <span class="n">MaClasse</span><span class="o">(</span><span class="mi">5</span><span class="o">,</span> <span class="s">"bonjour"</span><span class="o">);</span>
</pre></div>
<p>si toutefois la classe <i>MaClasse</i> a un constructeur qui possède deux paramètres&#160;: un entier et une chaîne de caractères.</p>
<p>Pour créer un nouveau tableau, on peut par exemple écrire&#160;:</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="n">String</span><span class="o">[]</span> <span class="n">arguments</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">[</span><span class="mi">10</span><span class="o">];</span>
<span class="c1">// ou bien : </span>
<span class="kt">int</span><span class="o">[][]</span> <span class="n">uneMatrice</span> <span class="o">=</span> <span class="k">new</span> <span class="kt">int</span><span class="o">[</span><span class="mi">4</span><span class="o">][</span><span class="mi">5</span><span class="o">];</span>
<span class="c1">// ou encore : </span>
<span class="kt">int</span><span class="o">[][]</span> <span class="n">quatreLignes</span> <span class="o">=</span> <span class="k">new</span> <span class="kt">int</span><span class="o">[</span><span class="mi">4</span><span class="o">][];</span>
</pre></div>
<h2><span class="mw-headline" id="En_C.2B.2B">En C++</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Constructeur_(programmation)&amp;veaction=edit&amp;vesection=2" title="Modifier la section : En C++" class="mw-editsection-visualeditor">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Constructeur_(programmation)&amp;action=edit&amp;section=2" title="Modifier la section : En C++">modifier le code</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>En <a href="/wiki/C%2B%2B" title="C++">C++</a>, le constructeur est une fonction membre publique de la classe portant le même nom que celle-ci. Il est appelé lors de la déclaration de l'objet ou lors de l'utilisation du mot-clé <i>new</i>. Le constructeur peut utiliser la syntaxe <code>constructeur(argument)&#160;: variable(argument)</code> pour initialiser les variables.</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="k">class</span> <span class="nc">Object</span>
<span class="p">{</span>
<span class="k">public</span> <span class="o">:</span>
<span class="n">Object</span> <span class="p">();</span> <span class="c1">// Constructeur par défaut</span>
<span class="n">Object</span> <span class="p">(</span><span class="kt">int</span> <span class="n">n</span><span class="p">)</span> <span class="o">:</span> <span class="n">nombre</span><span class="p">(</span><span class="n">n</span><span class="p">){};</span> <span class="c1">// Constructeur paramétrique</span>
<span class="n">Object</span> <span class="p">(</span><span class="k">const</span> <span class="n">Object</span><span class="o">&amp;</span><span class="p">);</span> <span class="c1">// Constructeur par recopie</span>
<span class="o">~</span><span class="n">Object</span> <span class="p">();</span> <span class="c1">// Destructeur</span>
<span class="kt">int</span> <span class="n">nombre</span><span class="p">;</span>
<span class="p">};</span>
<span class="kt">int</span> <span class="nf">main</span> <span class="p">()</span>
<span class="p">{</span>
<span class="n">Object</span> <span class="n">obj</span><span class="p">,</span> <span class="o">*</span><span class="n">p_obj</span><span class="p">;</span> <span class="c1">// Appel du constructeur par défaut pour obj</span>
<span class="n">p_obj</span><span class="o">=</span><span class="k">new</span> <span class="n">Object</span><span class="p">(</span><span class="mi">27</span><span class="p">);</span> <span class="c1">// Appel du constructeur paramétrique pour créer un objet pour p_obj</span>
<span class="n">Object</span> <span class="n">obj2</span><span class="p">(</span><span class="n">obj</span><span class="p">);</span> <span class="c1">// Appel du constructeur par recopie pour obj2</span>
<span class="k">delete</span> <span class="n">p_obj</span><span class="p">;</span> <span class="c1">// Appel du destructeur pour détruire l'objet contenu dans p_obj</span>
<span class="p">}</span> <span class="c1">// Appel du destructeur pour obj et obj2</span>
</pre></div>
<h2><span class="mw-headline" id="En_C.23">En C#</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Constructeur_(programmation)&amp;veaction=edit&amp;vesection=3" title="Modifier la section : En C#" class="mw-editsection-visualeditor">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Constructeur_(programmation)&amp;action=edit&amp;section=3" title="Modifier la section : En C#">modifier le code</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>Exemple de constructeur en <a href="/wiki/C_sharp" title="C sharp">C#</a>&#160;:</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="k">public</span> <span class="k">class</span> <span class="nc">MaClasse</span>
<span class="p">{</span>
<span class="k">private</span> <span class="kt">int</span> <span class="n">a</span><span class="p">;</span>
<span class="k">private</span> <span class="kt">string</span> <span class="n">b</span><span class="p">;</span>
<span class="c1">// Constructeur</span>
<span class="k">public</span> <span class="nf">MaClasse</span><span class="p">()</span> <span class="p">:</span> <span class="k">this</span><span class="p">(</span><span class="m">42</span><span class="p">,</span> <span class="s">"string"</span><span class="p">)</span>
<span class="p">{</span>
<span class="p">}</span>
<span class="c1">// Surcharge d'un constructeur</span>
<span class="k">public</span> <span class="nf">MaClasse</span><span class="p">(</span><span class="kt">int</span> <span class="n">a</span><span class="p">,</span> <span class="kt">string</span> <span class="n">b</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">this</span><span class="p">.</span><span class="n">a</span> <span class="p">=</span> <span class="n">a</span><span class="p">;</span>
<span class="k">this</span><span class="p">.</span><span class="n">b</span> <span class="p">=</span> <span class="n">b</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="c1">// Instanciation d'un objet à l'aide du constructeur </span>
<span class="n">MaClasse</span> <span class="n">c</span> <span class="p">=</span> <span class="k">new</span> <span class="n">MyClass</span><span class="p">(</span><span class="m">42</span><span class="p">,</span> <span class="s">"string"</span><span class="p">);</span>
</pre></div>
<p>Il existe par ailleurs en C# des <a rel="nofollow" class="external text" href="http://msdn.microsoft.com/fr-fr/library/k9x6w0hc.aspx">constructeurs statiques</a>, qui permettent d'initialiser une donnée statique et d'effectuer une action particulière devant être effectuée une seule fois. Les constructeurs statiques sont appelés implicitement avant qu'une instance ne soit crée. Tout appel à une classe (appel statique ou constructeur), déclenche l'exécution du constructeur statique.</p>
<p>Exemple d'utilisation d'un constructeur statique&#160;:</p>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="k">public</span> <span class="k">class</span> <span class="nc">MaClasse</span>
<span class="p">{</span>
<span class="k">private</span> <span class="k">static</span> <span class="kt">int</span> <span class="n">_A</span><span class="p">;</span>
<span class="c1">// Constructeur statique</span>
<span class="k">static</span> <span class="nf">MaClasse</span><span class="p">()</span>
<span class="p">{</span>
<span class="n">_A</span> <span class="p">=</span> <span class="m">32</span><span class="p">;</span>
<span class="p">}</span>
<span class="c1">// Constructeur standard</span>
<span class="k">public</span> <span class="nf">MaClasse</span><span class="p">()</span>
<span class="p">{</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
<div class="mw-highlight mw-content-ltr" dir="ltr">
<pre>
<span class="c1">// Instanciation d'un objet à l'aide du constructeur </span>
<span class="c1">// juste avant l'instanciation</span>
<span class="c1">// Le constructeur statique est exécuté, _A prend la valeur 32</span>
<span class="n">MaClasse</span> <span class="n">c</span> <span class="p">=</span> <span class="k">new</span> <span class="n">MaClasse</span><span class="p">();</span>
</pre></div>
<h2><span class="mw-headline" id="Critique">Critique</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Constructeur_(programmation)&amp;veaction=edit&amp;vesection=4" title="Modifier la section : Critique" class="mw-editsection-visualeditor">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Constructeur_(programmation)&amp;action=edit&amp;section=4" title="Modifier la section : Critique">modifier le code</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>Dans les langages tels <a href="/wiki/Java_(langage)" title="Java (langage)">Java</a>, l'appel à un constructeur est équivalent à l'appel d'une méthode statique, ce qui rend plus difficile l'écriture de <a href="/wiki/Test_unitaire" title="Test unitaire">tests unitaires</a> pour une méthode. L'<a href="/wiki/Injection_de_d%C3%A9pendance" title="Injection de dépendance" class="mw-redirect">injection de dépendance</a> permet au programmeur de ne plus devoir écrire aucun appel de constructeur car le <a href="/wiki/Framework" title="Framework">framework</a> d'injection de dépendance s'en charge à sa place.</p>
<h2><span class="mw-headline" id="Voir_aussi">Voir aussi</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Constructeur_(programmation)&amp;veaction=edit&amp;vesection=5" title="Modifier la section : Voir aussi" class="mw-editsection-visualeditor">modifier</a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Constructeur_(programmation)&amp;action=edit&amp;section=5" title="Modifier la section : Voir aussi">modifier le code</a><span class="mw-editsection-bracket">]</span></span></h2>
<ul>
<li><a href="/wiki/Destructeur" title="Destructeur">Destructeur</a></li>
</ul>
<div class="navbox_group" style="clear:both;">
<table class="navbox collapsible noprint autocollapse" style="margin:auto;">
<tr>
<th colspan="2" style="text-align:center;">
<div style="float:left; width:6em; text-align:left">
<div class="noprint plainlinksneverexpand nowrap tnavbar" style="background-color:transparent; padding:0; font-size:xx-small; color:#000000;"><a href="/wiki/Mod%C3%A8le:Palette_Programmation_informatique" title="Modèle:Palette Programmation informatique"><abbr class="abbr" title="Voir ce modèle.">v</abbr></a>&#160;· <a class="external text" href="//fr.wikipedia.org/w/index.php?title=Mod%C3%A8le:Palette_Programmation_informatique&amp;action=edit"><abbr class="abbr" title="Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.">m</abbr></a></div>
</div>
<span style="font-size:110%">Éléments de <a href="/wiki/Programmation_informatique" title="Programmation informatique">programmation informatique</a></span></th>
</tr>
<tr>
<td class="group" style=""><a href="/wiki/Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">Bibliothèque logicielle</a></td>
<td class="list" style="">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Biblioth%C3%A8que_standard" title="Bibliothèque standard">Bibliothèque standard</a></li>
<li><a href="/wiki/Espace_de_noms_(programmation)" title="Espace de noms (programmation)" class="mw-redirect">Espace de noms</a></li>
<li><a href="/wiki/Framework" title="Framework">Framework</a></li>
<li><a href="/wiki/Gabarit_(mise_en_page)" title="Gabarit (mise en page)">Gabarit</a></li>
<li><a href="/wiki/Interface_(informatique)" title="Interface (informatique)">Interface</a></li>
<li><a href="/wiki/Interface_de_programmation" title="Interface de programmation">Interface de programmation (API)</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<td class="group" style="">Vocabulaire</td>
<td class="list even" style="">
<table class="navbox" style="background:transparent; font-size:100%; padding:0; border:0; margin:-3px;">
<tr>
<td style="text-align:left;;" colspan="2">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Algorithmique" title="Algorithmique">Algorithme</a></li>
<li><a href="/wiki/Instruction_informatique" title="Instruction informatique">Instruction</a></li>
<li><a href="/wiki/D%C3%A9finition_d%27op%C3%A9rateur" title="Définition d'opérateur">Définition d'opérateur</a></li>
<li><a href="/wiki/Expression_(informatique)" title="Expression (informatique)">Expression</a></li>
<li><a href="/wiki/Style_d%27indentation" title="Style d'indentation">Indentation</a></li>
<li><a href="/wiki/Ligne_de_code" title="Ligne de code">Ligne de code</a></li>
<li><a href="/wiki/Op%C3%A9rateur_(informatique)" title="Opérateur (informatique)">Opérateur</a></li>
<li><a href="/wiki/Pseudo-code" title="Pseudo-code">Pseudo-code</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<th style="background:#ddf;"><a href="/wiki/Fonction_informatique" title="Fonction informatique">Fonctions</a></th>
<td style="text-align:left;;">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Convention_de_nommage_(programmation)" title="Convention de nommage (programmation)" class="mw-redirect">Convention de nommage</a></li>
<li><a href="/wiki/Dispatch_multiple" title="Dispatch multiple">Dispatch multiple</a></li>
<li><a href="/wiki/Factorisation_(informatique)" title="Factorisation (informatique)">Factorisation</a></li>
<li><a href="/wiki/Fonction_imbriqu%C3%A9e" title="Fonction imbriquée">Fonction imbriquée</a></li>
<li><a href="/wiki/Fonction_de_rappel" title="Fonction de rappel">Fonction de rappel</a></li>
<li><a href="/wiki/Fonction_d%27ordre_sup%C3%A9rieur" title="Fonction d'ordre supérieur">Fonction d'ordre supérieur</a></li>
<li><a href="/wiki/Fonction_r%C3%A9cursive" title="Fonction récursive">Fonction récursive</a></li>
<li><a href="/wiki/G%C3%A9n%C3%A9ricit%C3%A9" title="Généricité">Généricité</a></li>
<li><a href="/wiki/Op%C3%A9rande" title="Opérande">Opérande</a></li>
<li><a href="/wiki/Param%C3%A8tre" title="Paramètre">Paramètre</a></li>
<li><a href="/wiki/Polymorphisme_(informatique)" title="Polymorphisme (informatique)">Polymorphisme</a></li>
<li><a href="/wiki/Proc%C3%A9dure_(informatique)" title="Procédure (informatique)">Procédure</a></li>
<li><a href="/wiki/Signature_de_type" title="Signature de type">Signature de type</a></li>
<li><a href="/wiki/Surcharge_(programmation_informatique)" title="Surcharge (programmation informatique)">Surcharge</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<th style="background:#ddf;"><a href="/wiki/Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">Objet</a></th>
<td style="text-align:left;;">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Classe_(informatique)" title="Classe (informatique)">Classe</a></li>
<li><a href="/wiki/Constructeur_(programmation_informatique)" title="Constructeur (programmation informatique)" class="mw-redirect">Constructeur</a></li>
<li><a href="/wiki/Destructeur" title="Destructeur">Destructeur</a></li>
<li><a href="/wiki/Encapsulation_(programmation)" title="Encapsulation (programmation)">Encapsulation</a></li>
<li><a href="/wiki/H%C3%A9ritage_(informatique)" title="Héritage (informatique)">Héritage</a></li>
<li><a href="/wiki/H%C3%A9ritage_multiple" title="Héritage multiple">Héritage multiple</a></li>
<li><a href="/wiki/Instance_(programmation)" title="Instance (programmation)">Instance</a></li>
<li><a href="/wiki/M%C3%A9thode_(informatique)" title="Méthode (informatique)">Méthode</a></li>
<li><a href="/wiki/Ramasse-miettes_(informatique)" title="Ramasse-miettes (informatique)">Ramasse-miettes</a></li>
<li><a href="/wiki/R%C3%A9f%C3%A9rence_(informatique)" title="Référence (informatique)" class="mw-redirect">Référence</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<th style="background:#ddf;"><a href="/wiki/Programmation_%C3%A9v%C3%A9nementielle" title="Programmation événementielle">Événementiel</a></th>
<td style="text-align:left;;"><a href="/wiki/Inversion_de_contr%C3%B4le" title="Inversion de contrôle">Inversion de contrôle</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="group" style=""><a href="/wiki/Code_source" title="Code source">Code source</a></td>
<td class="list" style="">
<table class="navbox" style="background:transparent; font-size:100%; padding:0; border:0; margin:-3px;">
<tr>
<th style="background:#ddf;"><a href="/wiki/Structure_de_donn%C3%A9es" title="Structure de données">Structures de données</a></th>
<td style="text-align:left;;">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Arbre_(informatique)" title="Arbre (informatique)" class="mw-redirect">Arbre</a></li>
<li><a href="/wiki/Attribut_(informatique)" title="Attribut (informatique)">Attribut</a></li>
<li><a href="/wiki/Caract%C3%A8re_(informatique)" title="Caractère (informatique)">Caractère</a></li>
<li><a href="/wiki/Enregistrement_(informatique)" title="Enregistrement (informatique)" class="mw-redirect">Enregistrement</a></li>
<li><a href="/wiki/Ensemble_(informatique)" title="Ensemble (informatique)">Ensemble</a></li>
<li><a href="/wiki/Vecteur_(structure_de_donn%C3%A9es)" title="Vecteur (structure de données)">Vecteur</a></li>
<li><a href="/wiki/File_(structure_de_donn%C3%A9es)" title="File (structure de données)">File</a></li>
<li><a href="/wiki/First_in,_first_out" title="First in, first out" class="mw-redirect">First in, first out (FIFO)</a></li>
<li><a href="/wiki/Last_in,_first_out" title="Last in, first out">Last in, first out (LIFO)</a></li>
<li><a href="/wiki/Liste_(informatique)" title="Liste (informatique)">Liste</a></li>
<li><a href="/wiki/Liste_cha%C3%AEn%C3%A9e" title="Liste chaînée">Liste chaînée</a></li>
<li><a href="/wiki/Pile_(informatique)" title="Pile (informatique)">Pile</a></li>
<li><a href="/wiki/Propri%C3%A9t%C3%A9_(informatique)" title="Propriété (informatique)">Propriété</a></li>
<li><a href="/wiki/Tableau_(structure_de_donn%C3%A9es)" title="Tableau (structure de données)">Tableau</a></li>
<li><a href="/wiki/Tas_(informatique)" title="Tas (informatique)">Tas</a></li>
<li><a href="/wiki/Type_abstrait" title="Type abstrait">Type abstrait</a></li>
<li><a href="/wiki/S%C3%A9maphore_(informatique)" title="Sémaphore (informatique)">Sémaphore</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<th style="background:#ddf;"><a href="/wiki/D%C3%A9claration_(informatique)" title="Déclaration (informatique)">Déclarations</a></th>
<td style="text-align:left;;">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Affectation_(informatique)" title="Affectation (informatique)">Affectation</a></li>
<li><a href="/wiki/Pointeur_(programmation)" title="Pointeur (programmation)">Pointeur</a></li>
<li><a href="/wiki/Port%C3%A9e_(informatique)" title="Portée (informatique)">Portée</a></li>
<li><a href="/wiki/Tableau_associatif" title="Tableau associatif">Tableau associatif</a></li>
<li><a href="/wiki/Type_%C3%A9num%C3%A9r%C3%A9" title="Type énuméré">Type énuméré</a></li>
<li><a href="/wiki/Type_r%C3%A9cursif" title="Type récursif">Type récursif</a></li>
<li><a href="/wiki/Typage_statique" title="Typage statique">Typage statique</a></li>
<li><a href="/wiki/Variable_(informatique)" title="Variable (informatique)">Variable</a></li>
<li><a href="/wiki/Variable_globale" title="Variable globale">Variable globale</a></li>
<li><a href="/wiki/Variable_locale" title="Variable locale">Variable locale</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<th style="background:#ddf;"><a href="/wiki/Structure_de_contr%C3%B4le" title="Structure de contrôle">Structures de contrôle</a></th>
<td style="text-align:left;;">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Case_(instruction)" title="Case (instruction)">Case</a></li>
<li><a href="/wiki/Structure_de_contr%C3%B4le#Boucle_jusqu.27.C3.A0_ce_que" title="Structure de contrôle">Do</a></li>
<li><a href="/wiki/Structure_de_contr%C3%B4le#Test_si_sinon" title="Structure de contrôle">Else</a></li>
<li><a href="/wiki/Eval" title="Eval">Eval</a></li>
<li><a href="/wiki/Structure_de_contr%C3%B4le#Test_si" title="Structure de contrôle">If</a></li>
<li><a href="/wiki/Structure_de_contr%C3%B4le#Boucles" title="Structure de contrôle">For</a></li>
<li><a href="/wiki/Goto_(informatique)" title="Goto (informatique)">Goto</a></li>
<li><a href="/wiki/Structure_de_contr%C3%B4le#Boucles" title="Structure de contrôle">Loop</a></li>
<li><a href="/wiki/Switch_(instruction)" title="Switch (instruction)">Switch</a></li>
<li><a href="/wiki/Structure_de_contr%C3%B4le#Boucle_tant_que" title="Structure de contrôle">While</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<th style="background:#ddf;"><a href="/wiki/Fonction_informatique" title="Fonction informatique">Fonctions</a> usuelles</th>
<td style="text-align:left;;">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Concat%C3%A9nation" title="Concaténation">Concaténation</a></li>
<li><a href="/wiki/Incr%C3%A9mentation" title="Incrémentation">Incrémentation</a></li>
<li><a href="/wiki/Malloc" title="Malloc">malloc</a></li>
<li><a href="/wiki/Printf" title="Printf">printf</a></li>
</ul>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="group" style=""><a href="/wiki/Cat%C3%A9gorie:Outil_de_d%C3%A9veloppement_logiciel" title="Catégorie:Outil de développement logiciel">Outil de développement</a></td>
<td class="list even" style="">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Environnement_de_d%C3%A9veloppement" title="Environnement de développement">Environnement de développement</a></li>
<li><a href="/wiki/G%C3%A9n%C3%A9rateur_de_documentation" title="Générateur de documentation">Générateur de documentation</a></li>
<li><a href="/wiki/Gestion_de_versions" title="Gestion de versions">Gestion de versions</a></li>
<li><a href="/wiki/Mod%C3%A8le_(informatique)" title="Modèle (informatique)">Modèle</a></li>
<li><a href="/wiki/Patch_(informatique)" title="Patch (informatique)">Patch</a></li>
<li><a href="/wiki/Sp%C3%A9cification_(informatique)" title="Spécification (informatique)" class="mw-redirect">Spécification</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<td class="group" style="">Folklore</td>
<td class="list" style="">
<div class="liste-horizontale">
<ul>
<li><a href="/wiki/Hello_world" title="Hello world">Hello world</a></li>
<li><a href="/wiki/Keep_it_Simple,_Stupid" title="Keep it Simple, Stupid" class="mw-redirect">Keep it Simple, Stupid</a></li>
<li><a href="/wiki/Langage_de_programmation_exotique" title="Langage de programmation exotique">Langage de programmation exotique</a></li>
</ul>
</div>
</td>
</tr>
<tr>
<td class="banner" style="" colspan="2">
<div class="liste-horizontale">Catégorie&#160;:
<ul>
<li><a href="/wiki/Cat%C3%A9gorie:Programmation_informatique" title="Catégorie:Programmation informatique">Programmation informatique</a></li>
<li><a href="/wiki/Cat%C3%A9gorie:D%C3%A9veloppement_logiciel" title="Catégorie:Développement logiciel">Développement logiciel</a></li>
</ul>
</div>
</td>
</tr>
</table>
</div>
<ul id="bandeau-portail" class="bandeau-portail">
<li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><a href="/wiki/Portail:Programmation_informatique" title="Portail de la programmation informatique"><img alt="Portail de la programmation informatique" src="//upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Nuvola_apps_kcmsystem.svg/24px-Nuvola_apps_kcmsystem.svg.png" width="24" height="24" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Nuvola_apps_kcmsystem.svg/36px-Nuvola_apps_kcmsystem.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Nuvola_apps_kcmsystem.svg/48px-Nuvola_apps_kcmsystem.svg.png 2x" data-file-width="128" data-file-height="128" /></a></span> <span class="bandeau-portail-texte"><a href="/wiki/Portail:Programmation_informatique" title="Portail:Programmation informatique">Portail de la programmation informatique</a></span></span></li>
</ul>
<!--
NewPP limit report
Parsed by mw1091
Cached time: 20151113092726
Cache expiry: 2592000
Dynamic content: false
CPU time usage: 0.187 seconds
Real time usage: 1.760 seconds
Preprocessor visited node count: 1165/1000000
Preprocessor generated node count: 0/1500000
Post‐expand include size: 60047/2097152 bytes
Template argument size: 25019/2097152 bytes
Highest expansion depth: 13/40
Expensive parser function count: 2/500
Lua time usage: 0.015/10.000 seconds
Lua memory usage: 555 KB/50 MB
Number of Wikibase entities loaded: 1-->
<!--
Transclusion expansion time report (%,ms,calls,template)
100.00% 1696.034 1 - -total
4.76% 80.715 1 - Modèle:Palette
3.31% 56.197 1 - Modèle:Palette_Programmation_informatique
3.05% 51.674 1 - Modèle:Méta_palette_de_navigation
1.95% 33.005 1 - Modèle:Portail
1.27% 21.462 1 - Modèle:Ébauche
1.01% 17.146 1 - Modèle:Catégorisation_badges
0.99% 16.779 2 - Modèle:Méta_palette_de_navigation_sous-groupe
0.68% 11.454 1 - Modèle:Méta_bandeau_d'avertissement
0.60% 10.205 1 - Modèle:Portail_programmation_informatique
-->
<!-- Saved in parser cache with key frwiki:pcache:idhash:1042661-0!*!0!!fr!4!* and timestamp 20151113092724 and revision id 112671974
-->
<noscript><img src="//fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;" /></noscript></div> <div class="printfooter">
Ce document provient de «&#160;<a dir="ltr" href="https://fr.wikipedia.org/w/index.php?title=Constructeur_(programmation)&amp;oldid=112671974">https://fr.wikipedia.org/w/index.php?title=Constructeur_(programmation)&amp;oldid=112671974</a>&#160;». </div>
<div id='catlinks' class='catlinks'><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Cat%C3%A9gorie:Accueil" title="Catégorie:Accueil">Catégorie</a> : <ul><li><a href="/wiki/Cat%C3%A9gorie:Programmation_orient%C3%A9e_objet" title="Catégorie:Programmation orientée objet">Programmation orientée objet</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Catégories cachées : <ul><li><a href="/wiki/Cat%C3%A9gorie:Wikip%C3%A9dia:%C3%A9bauche_informatique" title="Catégorie:Wikipédia:ébauche informatique">Wikipédia:ébauche informatique</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Programmation_informatique/Articles_li%C3%A9s" title="Catégorie:Portail:Programmation informatique/Articles liés">Portail:Programmation informatique/Articles liés</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Informatique/Articles_li%C3%A9s" title="Catégorie:Portail:Informatique/Articles liés">Portail:Informatique/Articles liés</a></li></ul></div></div> <div class="visualClear"></div>
</div>
</div>
<div id="mw-navigation">
<h2>Menu de navigation</h2>
<div id="mw-head">
<div id="p-personal" role="navigation" class="" aria-labelledby="p-personal-label">
<h3 id="p-personal-label">Outils personnels</h3>
<ul>
<li id="pt-createaccount"><a href="/w/index.php?title=Sp%C3%A9cial:Connexion&amp;returnto=Constructeur+%28programmation%29&amp;type=signup" title="Il vous est conseillé de créer un compte et de vous connecter ; cependant, ce n’est pas obligatoire">Créer un compte</a></li><li id="pt-login"><a href="/w/index.php?title=Sp%C3%A9cial:Connexion&amp;returnto=Constructeur+%28programmation%29" title="Il est recommandé de vous identifier ; ce n'est cependant pas obligatoire. [o]" accesskey="o">Se connecter</a></li> </ul>
</div>
<div id="left-navigation">
<div id="p-namespaces" role="navigation" class="vectorTabs" aria-labelledby="p-namespaces-label">
<h3 id="p-namespaces-label">Espaces de noms</h3>
<ul>
<li id="ca-nstab-main" class="selected"><span><a href="/wiki/Constructeur_(programmation)" title="Voir la page de contenu [c]" accesskey="c">Article</a></span></li>
<li id="ca-talk"><span><a href="/wiki/Discussion:Constructeur_(programmation)" title="Discussion au sujet de cette page de contenu [t]" accesskey="t" rel="discussion">Discussion</a></span></li>
</ul>
</div>
<div id="p-variants" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-variants-label">
<h3 id="p-variants-label">
<span>Variantes</span><a href="#"></a>
</h3>
<div class="menu">
<ul>
</ul>
</div>
</div>
</div>
<div id="right-navigation">
<div id="p-views" role="navigation" class="vectorTabs" aria-labelledby="p-views-label">
<h3 id="p-views-label">Affichages</h3>
<ul>
<li id="ca-view" class="selected"><span><a href="/wiki/Constructeur_(programmation)" >Lire</a></span></li>
<li id="ca-ve-edit"><span><a href="/w/index.php?title=Constructeur_(programmation)&amp;veaction=edit" title="Modifier cette page [v]" accesskey="v">Modifier</a></span></li>
<li id="ca-edit" class=" collapsible"><span><a href="/w/index.php?title=Constructeur_(programmation)&amp;action=edit" title="Vous pouvez modifier cette page ! [e]" accesskey="e">Modifier le code</a></span></li>
<li id="ca-history" class="collapsible"><span><a href="/w/index.php?title=Constructeur_(programmation)&amp;action=history" title="Les versions passées de cette page (avec leurs contributeurs) [h]" accesskey="h">Historique</a></span></li>
</ul>
</div>
<div id="p-cactions" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-cactions-label">
<h3 id="p-cactions-label"><span>Plus</span><a href="#"></a></h3>
<div class="menu">
<ul>
</ul>
</div>
</div>
<div id="p-search" role="search">
<h3>
<label for="searchInput">Rechercher</label>
</h3>
<form action="/w/index.php" id="searchform">
<div id="simpleSearch">
<input type="search" name="search" placeholder="Rechercher" title="Rechercher dans Wikipédia [f]" accesskey="f" id="searchInput" /><input type="hidden" value="Spécial:Recherche" name="title" /><input type="submit" name="fulltext" value="Rechercher" title="Rechercher les pages comportant ce texte." id="mw-searchButton" class="searchButton mw-fallbackSearchButton" /><input type="submit" name="go" value="Lire" title="Aller vers une page portant exactement ce nom si elle existe." id="searchButton" class="searchButton" /> </div>
</form>
</div>
</div>
</div>
<div id="mw-panel">
<div id="p-logo" role="banner"><a class="mw-wiki-logo" href="/wiki/Wikip%C3%A9dia:Accueil_principal" title="Page principale"></a></div>
<div class="portal" role="navigation" id='p-navigation' aria-labelledby='p-navigation-label'>
<h3 id='p-navigation-label'>Navigation</h3>
<div class="body">
<ul>
<li id="n-mainpage-description"><a href="/wiki/Wikip%C3%A9dia:Accueil_principal" title="Aller à l'accueil [z]" accesskey="z">Accueil</a></li><li id="n-thema"><a href="/wiki/Portail:Accueil">Portails thématiques</a></li><li id="n-randompage"><a href="/wiki/Sp%C3%A9cial:Page_au_hasard" title="Affiche un article au hasard [x]" accesskey="x">Article au hasard</a></li><li id="n-contact"><a href="/wiki/Wikip%C3%A9dia:Contact">Contact</a></li> </ul>
</div>
</div>
<div class="portal" role="navigation" id='p-Contribuer' aria-labelledby='p-Contribuer-label'>
<h3 id='p-Contribuer-label'>Contribuer</h3>
<div class="body">
<ul>
<li id="n-aboutwp"><a href="/wiki/Aide:D%C3%A9buter">Débuter sur Wikipédia</a></li><li id="n-help"><a href="/wiki/Aide:Sommaire" title="Aide">Aide</a></li><li id="n-portal"><a href="/wiki/Wikip%C3%A9dia:Accueil_de_la_communaut%C3%A9" title="À propos du projet, ce que vous pouvez faire, où trouver des informations">Communauté</a></li><li id="n-recentchanges"><a href="/wiki/Sp%C3%A9cial:Modifications_r%C3%A9centes" title="Liste des modifications récentes sur le wiki [r]" accesskey="r">Modifications récentes</a></li><li id="n-sitesupport"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_fr.wikipedia.org&amp;uselang=fr" title="Aidez-nous">Faire un don</a></li> </ul>
</div>
</div>
<div class="portal" role="navigation" id='p-coll-print_export' aria-labelledby='p-coll-print_export-label'>
<h3 id='p-coll-print_export-label'>Imprimer / exporter</h3>
<div class="body">
<ul>
<li id="coll-create_a_book"><a href="/w/index.php?title=Sp%C3%A9cial:Livre&amp;bookcmd=book_creator&amp;referer=Constructeur+%28programmation%29">Créer un livre</a></li><li id="coll-download-as-rdf2latex"><a href="/w/index.php?title=Sp%C3%A9cial:Livre&amp;bookcmd=render_article&amp;arttitle=Constructeur+%28programmation%29&amp;returnto=Constructeur+%28programmation%29&amp;oldid=112671974&amp;writer=rdf2latex">Télécharger comme PDF</a></li><li id="t-print"><a href="/w/index.php?title=Constructeur_(programmation)&amp;printable=yes" title="Version imprimable de cette page [p]" accesskey="p">Version imprimable</a></li> </ul>
</div>
</div>
<div class="portal" role="navigation" id='p-tb' aria-labelledby='p-tb-label'>
<h3 id='p-tb-label'>Outils</h3>
<div class="body">
<ul>
<li id="t-whatlinkshere"><a href="/wiki/Sp%C3%A9cial:Pages_li%C3%A9es/Constructeur_(programmation)" title="Liste des pages liées à celle-ci [j]" accesskey="j">Pages liées</a></li><li id="t-recentchangeslinked"><a href="/wiki/Sp%C3%A9cial:Suivi_des_liens/Constructeur_(programmation)" title="Liste des modifications récentes des pages liées à celle-ci [k]" accesskey="k">Suivi des pages liées</a></li><li id="t-upload"><a href="/wiki/Aide:Importer_un_fichier" title="Envoyer une image ou fichier média sur le serveur [u]" accesskey="u">Importer un fichier</a></li><li id="t-specialpages"><a href="/wiki/Sp%C3%A9cial:Pages_sp%C3%A9ciales" title="Liste de toutes les pages spéciales [q]" accesskey="q">Pages spéciales</a></li><li id="t-permalink"><a href="/w/index.php?title=Constructeur_(programmation)&amp;oldid=112671974" title="Lien permanent vers cette version de la page">Adresse de cette version</a></li><li id="t-info"><a href="/w/index.php?title=Constructeur_(programmation)&amp;action=info" title="Plus d’information sur cette page">Information sur la page</a></li><li id="t-wikibase"><a href="//www.wikidata.org/wiki/Q1049476" title="Lien vers l’élément de référentiel des données connectées [g]" accesskey="g">Élément Wikidata</a></li><li id="t-cite"><a href="/w/index.php?title=Sp%C3%A9cial:Citer&amp;page=Constructeur_%28programmation%29&amp;id=112671974" title="Informations sur comment citer cette page">Citer cette page</a></li> </ul>