Após ter entendido o processo de herança de classes, será mais fácil entender algumas vantagens propostas pelo Encapsulamento, recurso explicado anteriormente. Quando se herda uma classe, espera-se que esta esteja em seu mais perfeito funcionamento. Portanto, se por algum motivo houver algum erro durante a criação ou utilização deste novo objeto ou subclasse, muito provavelmente este erro está contido na nova ou nas novas implementações. Isso geralmente é esperado. Mas, e quando isso não acontece? E quando o erro não estiver na nova implementação?
A resposta está em como o conteúdo da classe base está encapsulado, ou seja, não temos acesso a ele, o erro está em seu processo ou concepção. O mais provável é que alguma situação não tenha sido prevista, por exemplo, um envio de mensagens mal feito, ou o não término de um determinado processo, bem como a falta tratamento de erro não previsto. Como uma classe tem que ser o mais auto-sustentável possível, as correções deverão ser feitas na classe base e não nas classes derivadas.
O que está acontecendo, na verdade, é que além de encapsularmos o conteúdo restrito da classe base, estamos também encapsulando todos os possíveis problemas que esta possa causar, fazendo com que as correções sejam mais fáceis de identificar e tratar.
O processo de Herança cuidará para que as correções sejam implementadas nas demais classes derivadas desta.