Na programação orientada a objetos, herança especifica que uma classe (subclasse) herda características (atributos e métodos) de outra classe (superclasse). Nesse contexto, as características da superclasse que são comuns às subclasses e as características específicas das subclasses, são conhecidas, respectivamente, por: