color = $color; } public function setLegs($number) { $this->legs = $number; } } // Interfaces are helpful when you are using code created by someone else. // For example, another developer may have created code that manages online payments, but they want to give you // the ability to create your own payment class that works with their code. In that case, the developer // creates an interface with all the required methods they need to charge a payment. The interface // becomes a contract between your code and the other developer's code to work a certain way. interface Payment { public function charge($amount); } class CreditCard { public function charge($amount) { } } // Since CreditCard implements Payment, other developers can use the charge method, knowing it exists on the class. $creditCard = new CreditCard(); $creditCard->charge(25);