Nesse módulo vimos o conceito de herança. Em certas aplicações, as classes utilizadas possuem em certos métodos e atributos em comum ou assinaturas iguais para métodos. Com uma linguagem de programação orientada a objetos nós podemos definir uma classe com diferentes níveis de abstração permitindo decompor certos atributos comuns em diversas classes. Uma classe genérica define então um conjunto de atributos que são compartilhados por outras classes. Nós diremos que essas outras classes herdam da classe geral.
Uma classe pode herdar os métodos e atributos de outra classe. A herança é uma característica fundamental da programação orientada a objetos, pois garante a consistência entre os objetos e garante uma forma simples de criar novas classes. A classe mais genérica é chamada de superclasse e as classes que herdam suas características são chamadas de subclasses.
Vimos ainda que podemos usar o mecanismo de redefinição de métodos, também chamado de sobrecarga, para escrever métodos em subclasses que substituam os métodos herdados da superclasse. A redefinição de métodos é fundamental para que as classes que herdem de uma classe comum possuam comportamentos específicos.
Por fim, apresentamos a classe Object que é a superclasse da qual todos os objetos são herdados. Descrevemos em detalhes seus métodos e apresentamos exemplos de como utilizá-los nas nossas classes.