Защо има допирни точки стека преливане на Руски

Приятели, многократно са задавани въпроси, и зададе въпрос, тук се отнася и е преследван от мисълта защо се нуждаем интерфейс в PHP например.

Има купища примери, в които обясняват само само това, те искат труден въведената структура за другите класове, които реализират и са длъжни да изпълняват публични методи, но добре, наистина печалбата само това НП членове на интерфейси са становищата те позволяват да заобикалят NEmnozhestvennoe наследство, това е, как? Обяснете ми основен пример за комуникация, както това се случва?

Да предположим, че има интерфейс с един-единствен метод. За неговото прилагане класове го приложат към вашите нужди, тъй като те биха искали, но навсякъде по различни начини, и това е всичко? Нека наследена от клас, който изпълнява интерфейс, тогава какво?

Връща съответния ред, това е пример на интерфейсите?

Мислете за интерфейса като договор за класа по изпълнението на редица методи. Виж не са част от този клас, който реализира интерфейса, както и от класовете, които го използват. Ако клас изпълнява интерфейс, другите класове ще бъдат сигурни, че този клас има всички методите, изброени в интерфейса, и те могат да ги използват. Интерфейсът може да доведе до вратата като пример. Всичко, което трябва да се знае програмата, използвайте вратата. е, че той може да се отваря и затваря. В този случай, няма значение дали е обикновен врата, вертикално разделена Две или банков трезор врата. В този случай, основната разлика от наследството в този случай се състои в това, че този клас, който реализира вратата на интерфейс. може да приложи други интерфейси, а дори и да бъде наследен от някой клас, като същевременно се избягват проблемите на множествено наследяване.

За множествено наследяване. Да предположим, че имаме А и В. Всеки един от класовете, в която се осъществява doSth () метод. Те са наследени от клас С. В този случай възниква проблем: който метод се извиква, когато C.doSth () - A.doSth () или B.doSth (). В крайна сметка, и двата метода са наследени, а сега всеки път, когато ти се обадя C.doSth () изрично да се определи методът на всеки от класовете прародител да използват. Съвсем друг въпрос, ако интерфейсите А и Б. Ако клас С изпълнява интерфейси А и В. След това се гарантира, че е метод doSth (). докато няма да има конфликти, като интерфейси не могат да приложат методите.