Compartilhar via


Membros virtuais

A virtual (Overridable em Visual Basic) membro lhe permite alterar o comportamento de um membro, fornecendo uma implementação diferente do membro. Normalmente, eles são usados quando você deseja que uma classe derivada do tipo para lidar com as especificidades de um determinado cenário. Por exemplo, o WebRequest classe define funcionalidade para enviar uma solicitação para qualquer identificador de recurso Universal (URI). O FtpWebRequest é uma classe derivada de WebRequest que substitui seus métodos virtuais para manipular as solicitações de envio para URIs que usam o esquema de protocolo de transferência de arquivo (FTP).

Membros virtuais desempenho melhor do que os eventos e retornos de chamada, mas não têm um melhor desempenho do que os métodos não-virtuais.

Não faça membros virtuais, a menos que você tenha um bom motivo para isso e você está ciente de todos os custos relacionados à criação, teste e manutenção de membros virtuais.

Alterar a implementação de um membro virtual entre versões pode causar incompatibilidades de versão sutis. Por esse motivo, os métodos virtuais são mais caros projetar corretamente e teste exaustivamente.

Prefira protegida acessibilidade sobre acessibilidade pública para membros virtuais. Membros públicos devem fornecer extensibilidade (se necessário) chamando o membro virtual protegido.

Os membros necessários para todos os cenários que não envolvem a herança devem ser públicos.

Portions Copyright 2005 Microsoft Corporation. Todos os direitos reservados.

Portions Copyright Addison-Wesley Corporation. Todos os direitos reservados.

Para obter mais informações sobre as diretrizes de design, consulte a "diretrizes de Design do Framework: Convenções, idiomas e padrões de reutilizável.Bibliotecas de rede" catálogo por Krzysztof Cwalina e Brad Abrams, publicado pela Addison-Wesley, 2005.

Consulte também

Outros recursos

Diretrizes de Design para desenvolvimento bibliotecas de classe

Criação de extensibilidade