0

私はこのクラスを持っています

UserInterface ---abstract class User implements Userinterface -------- class Teacher extends User

今、私は自分のphpファイルでどのタイプのクラスを期待すべきか混乱しています

つまり、引数に入力する必要がありますか

Class Test(UserInterface $user)

Class Test(User $user)

Class Test (Teacher $user) またClass Test (Teacher $teacher)

私は混乱しています

4

1 に答える 1

1

コードがより柔軟になるため、ニーズに合った最も一般的なものを使用してください。たとえば、呼び出す必要のあるメソッドが に存在する場合はUserInterface、それを使用します。一方、必要なメソッドがUserまたはTeacherで定義されている場合は、代わりに対応するメソッドを使用します。

並列階層の場合、クラスを拡張することはできませんが、この場合はインターフェースを実装できるため、インターフェースを期待する方がクラスを期待するよりも柔軟です。

于 2012-07-19T06:12:11.090 に答える