Interfaces ohne Inhalt für Logik?
bearbeitet von
moin,
Interfaces schreiben vor, welche Methoden man zu implementieren hat. Ist es geläufig, ein Interface zu implementiert mit der Absicht eine Merkmal zur Unterscheidung zu erschaffen?
~~~php
interface PersonInterface {}
interface WorkerInterface extends PersonInterface {}
interface CustomerInterface extends PersonInterface {}
interface EmployerInterface extends PersonInterface {}
class WarehouseCustomer implements CustomerInterface
{
// code
}
class WarehouseServer implements WorkerInterface
{
// code
}
class WarehouseOwner implements EmployerInterface
{
// code
}
function determinePerson ( PersonInterface $person ) : int {
if ( $person instanceOf CustomerInteface ) {
return 0;
} elseif ( $person instanceOf WorkerInteface ) {
return 1;
} elseif ( $person instanceOf EmployerInteface ) {
return 2;
}
}
~~~
Meines wissens ist das nicht Sinn der Interfaces. Aber ist das _eine_ Methode herr über die Problestelluhng zu werden?
class
lgmb
--
Sprachstörung
Interfaces ohne Inhalt für Logik?
bearbeitet von
moin,
Interfaces schreiben vor, welche Methoden man zu implementieren hat. Ist es geläufig, ein Interface zu implementiert mit der Absicht eine Merkmal zur Unterscheidung zu erschaffen?
~~~php
interface PersonInterface {}
interface WorkerInterface extends PersonInterface {}
interface CustomerInterface extends PersonInterface {}
interface EmployerInterface extends PersonInterface {}
class WarehouseCustomer implements CustomerInterface
{
// code
}
class WarehouseServer implements WorkerInterface
{
// code
}
class WarehouseOwner implements EmployerInterface
{
// code
}
function determinePerson ( PersonInterface $person ) : void {
if ( $person instanceOf CustomerInteface ) {
return 0;
} elseif ( $person instanceOf WorkerInteface ) {
return 1;
} elseif ( $person instanceOf EmployerInteface ) {
return 2;
}
}
~~~
Meines wissens ist das nicht Sinn der Interfaces. Aber ist das _eine_ Methode herr über die Problestelluhng zu werden?
class
lgmb
--
Sprachstörung
Interfaces ohne Inhalt für Logik?
bearbeitet von
moin,
Interfaces schreiben vor, welche Methoden man zu implementieren hat. Ist es geläufig, ein Interface zu implementiert mit der Absicht eine Merkmal von sich selbst vorzunehmen zur Unterscheidung?
~~~php
interface PersonInterface {}
interface WorkerInterface extends PersonInterface {}
interface CustomerInterface extends PersonInterface {}
interface EmployerInterface extends PersonInterface {}
class WarehouseCustomer implements CustomerInterface
{
// code
}
class WarehouseServer implements WorkerInterface
{
// code
}
class WarehouseOwner implements EmployerInterface
{
// code
}
function determinePerson ( PersonInterface $person ) : void {
if ( $person instanceOf CustomerInteface ) {
return 0;
} elseif ( $person instanceOf WorkerInteface ) {
return 1;
} elseif ( $person instanceOf EmployerInteface ) {
return 2;
}
}
~~~
Meines wissens ist das nicht Sinn der Interfaces. Aber ist das _eine_ Methode herr über die Problestelluhng zu werden?
class
lgmb
--
Sprachstörung