<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/reserved.attributes.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'class.override.php',
    1 => 'Override',
    2 => 'Das Attribut Override',
  ),
  'up' => 
  array (
    0 => 'reserved.attributes.php',
    1 => 'Vordefinierte Attribute',
  ),
  'prev' => 
  array (
    0 => 'nodiscard.construct.php',
    1 => 'NoDiscard::__construct',
  ),
  'next' => 
  array (
    0 => 'override.construct.php',
    1 => 'Override::__construct',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'language/predefined/attributes/override.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.override.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.override" class="reference">
 <h1 class="title">Das Attribut Override</h1>
 

 <div class="partintro"><p class="verinfo">(PHP 8 &gt;= 8.3.0)</p>

  <div class="section" id="override.intro">
   <h2 class="title">Einführung</h2>
   <p class="simpara">
    Dieses Attribut wird verwendet, um anzuzeigen, dass eine Methode oder
    Eigenschaft eine Methode oder Eigenschaft einer Elternklasse überschreiben
    soll oder dass sie eine in einer Schnittstelle definierte Methode oder
    Eigenschaft implementiert.
   </p>
   <p class="simpara">
    Wenn es weder in einer Elternklasse noch in einer implementierten
    Schnittstelle eine Methode oder Eigenschaft mit demselben Namen gibt, wird
    ein Kompilierungsfehler ausgegeben.
   </p>
   <p class="simpara">
    Das Attribut kann nicht auf die Methode
    <a href="language.oop5.decon.php#object.construct" class="link">__construct()</a>
    angewendet werden, da diese von der Signaturprüfung ausgenommen ist.
   </p>
  </div>

  <div class="section" id="override.synopsis">
   <h2 class="title">Klassenbeschreibung</h2>

   <div class="classsynopsis"><div class="classsynopsisinfo">
    
     <span class="attribute"><a href="class.attribute.php">#[\Attribute]</a> </span><br>
     <span class="modifier">final</span>
     <span class="modifier">class</span> <strong class="classname"><strong class="classname">Override</strong></strong>
     {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Methoden */</div>
    <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><a href="override.construct.php" class="methodname">__construct</a></span>()</div>

   }</div>

  </div>

  <div class="section">
   <h2 class="title">Changelog</h2>
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Beschreibung</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.5.0</td>
       <td>
        <span class="classname"><strong class="classname">Override</strong></span> kann auf Eigenschaften angewendet werden.
       </td>
      </tr>

     </tbody>
    
   </table>

  </div>

  <div class="section">
   <h2 class="title">Beispiele</h2>
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 Verwendung mit Methoden</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">class </span><span style="color: #0000BB">Base </span><span style="color: #007700">{<br />    protected function </span><span style="color: #0000BB">foo</span><span style="color: #007700">(): </span><span style="color: #0000BB">void </span><span style="color: #007700">{}<br />}<br /><br />final class </span><span style="color: #0000BB">Extended </span><span style="color: #007700">extends </span><span style="color: #0000BB">Base </span><span style="color: #007700">{<br />    #[</span><span style="color: #0000BB">\Override</span><span style="color: #007700">]<br />    protected function </span><span style="color: #0000BB">boo</span><span style="color: #007700">(): </span><span style="color: #0000BB">void </span><span style="color: #007700">{}<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt mit PHP 8.3 eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Fatal error: Extended::boo() has #[\Override] attribute, but no matching parent method exists
</pre></div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 Verwendung mit Eigenschaften</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">class </span><span style="color: #0000BB">Base </span><span style="color: #007700">{<br />    protected </span><span style="color: #0000BB">string $foo</span><span style="color: #007700">;<br />}<br /><br />final class </span><span style="color: #0000BB">Extended </span><span style="color: #007700">extends </span><span style="color: #0000BB">Base </span><span style="color: #007700">{<br />    #[</span><span style="color: #0000BB">\Override</span><span style="color: #007700">]<br />    protected </span><span style="color: #0000BB">string $boo</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt mit PHP 8.5 eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Fatal error: Extended::$boo has #[\Override] attribute, but no matching parent property exists
</pre></div>
    </div>
   </div>
  </div>

  <div class="section" id="override.seealso">
   <h2 class="title">Siehe auch</h2>
   <ul class="simplelist">
    <li><a href="language.attributes.php" class="link">Übersicht über die Attribute</a></li>
   </ul>
  </div>

 </div>

 






<h2>Inhaltsverzeichnis</h2><ul class="chunklist chunklist_reference"><li><a href="override.construct.php">Override::__construct</a> — Erstellt eine neue Instanz des Attributs Override</li></ul>
</div>
<?php manual_footer($setup); ?>