Heim > Backend-Entwicklung > PHP-Tutorial > Was sind Funktionsabdeckung und Funktionsüberladung in PHP?

Was sind Funktionsabdeckung und Funktionsüberladung in PHP?

藏色散人
Freigeben: 2023-04-04 19:34:01
Original
4285 Leute haben es durchsucht

Funktionsüberladung und -überschreibung (auch Umschreiben genannt) sind OOP-Funktionen (objektorientiert) in PHP. Bei der Funktionsüberladung können mehrere Funktionen denselben Methodennamen, aber eine unterschiedliche Anzahl oder Art von Parametern haben. Im Falle einer Funktionsüberschreibung haben jedoch mehrere Funktionen denselben Methodennamen und dieselbe Anzahl von Parametern.

Was sind Funktionsabdeckung und Funktionsüberladung in PHP?

Funktionsüberladung: Funktionsüberladung enthält denselben Funktionsnamen, der je nach Anzahl und Art der Argumente unterschiedliche Aufgaben ausführt.

Um beispielsweise die Fläche einer Form anhand des Radius zu ermitteln, sollte bei Angabe von Höhe und Breite die Fläche des Kreises zurückgegeben werden, dann die rechteckige Fläche und andere Flächen gegeben. Wie bei anderen OOP-Sprachen kann das Überladen von Funktionen nicht durch native Methoden erfolgen.

In PHP erfolgt das Überladen von Funktionen mit Hilfe der magischen Methode __call(). Diese Funktion benötigt einen Funktionsnamen und Parameter.

Beispiel für Funktionsüberladung:

<?php 
// 说明:PHP程序说明函数。
// PHP中的重载
//创建一个类型为shape的类
class shape { 
      
   // __call() 是一个魔术方法
   //函数名和参数
    function __call($name_of_function, $arguments) { 
              
        // 它将匹配函数名
        if($name_of_function == &#39;area&#39;) { 
              
            switch (count($arguments)) { 
                      
                // 如果只有一个参数
                //圆的面积
                case 1: 
                    return 3.14 * $arguments[0]; 
                          
                // 如果有两个参数,则面积为矩形;
                case 2: 
                    return $arguments[0]*$arguments[1]; 
            } 
        } 
    } 
} 
      
//声明Shape类型对象
$s = new Shape; 
      
echo($s->area(2)); 
echo "<br>"; 
      
// 调用矩形的area方法
echo ($s->area(4, 2)); 
?>
Nach dem Login kopieren

Ausgabe:

6.28
8
Nach dem Login kopieren

Funktionsumschreibung: Funktionsumschreibung mit anderen OOPs Die Programmiersprache ist das gleiche. Beim Überschreiben von Funktionen sollten die übergeordnete Klasse und die untergeordnete Klasse denselben Funktionsnamen und dieselbe Anzahl von Parametern haben. Es wird verwendet, um die übergeordnete Methode in der untergeordneten Klasse zu ersetzen. Der Zweck des Überschreibens besteht darin, das Verhalten der Methode der übergeordneten Klasse zu ändern. Zwei Methoden mit demselben Namen und denselben Parametern werden als Overrides bezeichnet.

Beispiel für Funktionsabdeckung (Umschreiben):

<?php
//PHP程序实现
//函数覆盖
//这是父类
class P {

    // 父类函数demo
    function demo() {
        echo "Parent";
    }
}

// 这是子类
class C extends P {

    // 覆盖demo方法
    function demo() {
        echo "<br>Child";
    }
}


$p = new P;

$c= new C;

// 打印parent
$p->demo();

// 打印child
$c->demo();
?>
Nach dem Login kopieren

Ausgabe:

Parent
Child
Nach dem Login kopieren

In diesem Artikel geht es um Funktionsabdeckung und Funktionsüberladung in PHP Einführung, I Ich hoffe, es wird Freunden in Not helfen!

Das obige ist der detaillierte Inhalt vonWas sind Funktionsabdeckung und Funktionsüberladung in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage