Get the App
SLTechnology News&Howtos  ›  Development  › 

How to use interface interface to implement multiple inheritance

Shulou Source: shulou.com Published: 2022-06-03 09:30:51 11月12日 Update

Editor to share with you how to use the interface interface to achieve multiple inheritance, I believe most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's learn about it!

The following is an example of multiple inheritance using an interface (interface). The source code is as follows:

InterfaceUserInterface {/ / defines the interface of User

Functiongetname ()

}

InterfaceTeacherInterface {/ / teacher related APIs

FunctiongetLengthOfService ()

}

ClassUserimplementsUserInterface {/ / implement UserInterface interface

Private$name= "tom"

PublicfunctiongetName () {

Return$this- > name

}

}

ClassTeacherimplementsTeacherInterface {/ / implement TeacherInterface interface

Private$lengthOfService=5;// length of service

PublicfunctiongetLengthOfService () {

Return$this- > lengthOfService

}

}

How to use interface (interface) to implement multiple inheritance

/ / inherits from the User class and implements the TeacherInterface interface.

ClassGraduateStudentextendsUserimplementsTeacherInterface {

Private$teacher

Publicfunction__construct () {

$this- > teacher=newTeacher ()

}

PublicfunctiongetLengthOfService () {

Return$this- > teacher- > getLengthOfService ()

}

}

ClassAct {

/ / notice that the type prompt here has been changed to interface type.

PublicstaticfunctiongetUserName (UserInterface$_user) {

Echo "Nameis". $_ user- > getName (). "

"

}

/ / the type prompt here has been changed to TeacherInterface type.

PublicstaticfunctiongetLengthOfService (TeacherInterface$_teacher) {

Echo "Ageis". $_ teacher- > getLengthOfService (). "

"

}

}

$graduateStudent=newGraduateStudent ()

Act::getUserName ($graduateStudent)

Act::getLengthOfService ($graduateStudent)

/ / as a result, an object with multiple identities is implemented.

? >

The running result of the example is as follows:

Nameistom

Ageis5

The above is all the content of the article "how to use interface interface to achieve multiple inheritance". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Tags: Interfaces types articles content results tips not much examples at the same time most objects seniority more such as source code knowledge examples industry information information channels Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information MariaDB Shulou Tech Info OPPO Reno Apple