Heim >Backend-Entwicklung >PHP-Tutorial >Ausführliche Erläuterung von Beispielen für die Verwendung einfacher Merkmale

Ausführliche Erläuterung von Beispielen für die Verwendung einfacher Merkmale

伊谢尔伦
伊谢尔伦Original
2017-07-03 11:21:561392Durchsuche

Die Eigenschaften in PHP 5.4 sind eine neu eingeführte Funktion. Ich weiß wirklich nicht, wie ich sie genau ins Chinesische übersetzen soll. Sein eigentlicher Zweck besteht darin, in manchen Situationen Mehrfachvererbung zu verwenden, aber PHP verfügt nicht über Mehrfachvererbung, also wurde so etwas erfunden. Traits können als eine Reihe von Methoden verstanden werden, die von verschiedenen Klassen aufgerufen werden können, aber Traits sind keine Klassen! Kann nicht instanziiert werden. Schauen wir uns zunächst die Syntax anhand eines Beispiels an:

Als nächstes untersuchen wir, warum Merkmale verwendet werden. Es gibt beispielsweise zwei Klassen, nämlich Unternehmen (Geschäftsperson) und Einzelpersonen (Einzelperson). Alle haben das Attribut „Adresse“
<?php
trait myTrait{
  function traitMethod1(){}
  function traitMethod2(){}

}

//然后是调用这个traits,语法为:
class myClass{
  use myTrait;
}

//这样就可以通过use myTraits,调用Traits中的方法了,比如:
$obj = new myClass();
$obj-> traitMethod1 ();
$obj-> traitMethod2 (); 
>
. Der traditionelle Ansatz besteht darin, eine übergeordnete Klasse zu abstrahieren, die gemeinsame Merkmale wie „Client“ aufweist, und die Zugriffsattribute „Adresse“, „Geschäft“ und „Inpidual“ in der Client-Klasse festzulegen , der folgende Code:

Aber was ist, wenn es eine andere Klasse namens order gibt, die auf dasselbe Adressattribut zugreifen muss? Die Auftragsklasse kann die Client-Klasse nicht erben, da dies nicht den Prinzipien von OOP entspricht. Zu diesem Zeitpunkt sind Merkmale hilfreich. Sie können ein Merkmal definieren, um diese öffentlichen Eigenschaften zu definieren.

// Class Client 
class Client { 
  private $address; 
  public getAddress() { 
    return $this->address; 
  }    
  public setAddress($address) { 
    $this->address = $address;  
  } 
} 
   
class Business extends Client{ 
  //这里可以使用address属性 
} 

// Class Inpidual 
class Inpidual extends Client{ 
//这里可以使用address属性 
}

Das ist viel bequemer!

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für die Verwendung einfacher Merkmale. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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