Uma interface é uma coleção de operações que são usadas para especificar um serviço de uma classe. Graficamente, uma interface é representada como um círculo (forma icônica). Toda interface deve ter um nome que a distingue de outras interfaces.
Forma Icônica:
Uma interface pode também ser representada como um estereótipo (forma expandida). Neste caso, é possível visualizar as operações permitidas na interface.
Forma Expandida:
Uma interface especifica um contrato de serviço para uma classe,
sem detalhar como será sua implementação. No exemplo abaixo, IPreço especifica esse
contrato e Pedido é responsável pela sua realização.
No caso da Virtual LTDA, podemos definir uma interface a qual
nomearemos de IPreco (a letra ‘I’ foi usada para permitir identificar
a classe como sendo uma classe de interface). A interface IPreço provê
um contrato de definição de preço para a classe Pedido. A classe Pedido, a
qual realiza, isto é, provê a implementação concreta da interface IPreco, contém
um relacionamento , chamado realização.
Neste caso, note que a classe Cliente depende da interface IPreço.

Abaixo é mostrado a mesma modelagem anterior, utilizando-se a forma icônica, chamada de pirulito. Note que nesta modelagem as operações da interface IPreço não são mostradas.
