in reply to Yet another Moose(not)

Public attributes are a really bad idea because they result in tight coupling (e.g. see OOP: How to (not) lose Encapsulation).

Likewise, inheritance results in tight coupling. Do you provide any alternatives to inheritance (if so can you show an example?) ?