Skip to content

Instantly share code, notes, and snippets.

@caironm
Created September 30, 2019 12:13
Show Gist options
  • Save caironm/f247d4f7c422dc9fc7cddb47388f0b64 to your computer and use it in GitHub Desktop.
Save caironm/f247d4f7c422dc9fc7cddb47388f0b64 to your computer and use it in GitHub Desktop.
Princípios de Segregação de Interfaces
<?php
interface Aves
{
public function andar();
}
interface AvesQueVoam extends Aves
{
public function voar();
}
interface AvesQueNadam extends Aves
{
public function nadar();
}
class Pato implements AvesQueVoam, AvesQueNadam
{
public function voar()
{
//lógica
}
public function nadar()
{
//lógica
}
public function andar()
{
//lógica
}
}
class Pinguim implements AvesQueNadam
{
public function nadar()
{
//lógica
}
public function andar()
{
//lógica
}
}
class Andorinha implements AvesQueVoam
{
public function andar()
{
//lógica
}
public function voar()
{
//lógica
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment