Zanim zrozumiemy cechy w . Dowiedzieliśmy się o dziedziczeniu, które oznacza, że klasa może rozszerzać inną klasę. Powiedzmy, że klasa B rozszerza klasę A, a klasa C również rozszerza klasę A, co oznacza, że funkcja zdefiniowana w klasie A może być dostępna dla klasy B i klasy C, ale załóżmy, że jeśli klasa B i klasa C przesłoniły funkcję X i powiedzmy, że klasa D jest rozszerzenie obu klas.
Chociaż wielokrotne dziedziczenie nie obsługuje tego przez PHP, ale przypuśćmy, że byłby to przypadek, którą funkcję uruchamia klasa D? Czy to z klasy B czy z klasy C? Jest to więc w rzeczywistości problem wielokrotnego dziedziczenia, dlatego PHP go nie obsługuje, ale jest wiele przypadków, w których chcesz rozszerzyć więcej niż jedną klasę, aby umożliwić ponowne wykorzystanie kodu.
Kiedy mówimy o pojedynczym problemie dziedziczenia, klasa D rozszerza klasę C, ale co by było, gdybyśmy chcieli mieć jakieś funkcje klasy B w klasie D. W tym celu możemy użyć cech wprowadzonych w PHP 5.4. Jest prosty i łatwy do stworzenia. Jest jak klasa, ale tylko dla grupy metod i podobnie jak klas abstrakcyjnych, nie można tworzyć instancji elementów dyskretnych.
java dla przykładów programów pętli
Cechy w PHP
Ogólnie rzecz biorąc, mogą definiować zarówno statyczne elementy członkowskie, jak i metody statyczne, co pomaga programistom w swobodnym ponownym użyciu metod w kilku niezależnych klasach w różnych hierarchiach klas. Cechy pozwalają uniknąć problemów związanych z wielokrotnym dziedziczeniem, mieszankami, a także zmniejszają złożoność.
Składnia:
W ten sposób cechy mogą być zawarte w innych klasach.
class Post {use Sharable} class Comment {use Sharable}
Ponieważ PHP nie zezwala na wielokrotne dziedziczenie, Trait służy do przezwyciężenia tego problemu, umożliwiając nam ponowne użycie tej samej funkcjonalności w wielu klasach. Poniższy przykład demonstruje działanie cech w PHP.
func ()?>
Wynik:
Zaleta cech
Cechy zmniejszają duplikowanie kodu, jednocześnie zapobiegając skomplikowanemu dziedziczeniu klas, które może nie mieć sensu w kontekście aplikacji.
przekonwertować z podwójnego na int
Pomaga to w zdefiniowaniu prostych cech, które są jasne i zwięzłe, a następnie w razie potrzeby w połączeniu z tą funkcjonalnością.
Cechy a interfejsy w PHP
Ogólnie rzecz biorąc, główna różnica między interfejsami a cechami w PHP polega na tym, że cechy zasadniczo definiują rzeczywistą implementację każdej metody w każdej klasie, więc ten sam interfejs jest implementowany przez wiele klas, ale ma inne zachowanie, podczas gdy cechy są tylko fragmentami wstrzykniętego kodu na zajęciach w PHP.
jak podnieść liczbę do potęgi w java
W ten sposób dochodzimy do końca tych cech w artykule o Pythonie. Mam nadzieję, że nauczyłeś się o cechach, zaletach cech i różnicach między cechami a interfejsami.
Jeśli uważasz, że ten blog PHP jest odpowiedni, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy „Cechy w PHP”, a skontaktuję się z Tobą.