Want create site? Find Free WordPress Themes and plugins.

classes-sealed-00b

A noção de herança representa um dos tópicos mais conhecidos dentro da Orientação a Objetos. Dando grande ênfase à questão do reaproveitamento de código, este conceito permite a implementação de variações de uma classe a partir da redefinição de alguns de seus comportamentos básicos (ou mesmo todos). Outra possibilidade também seria estender as capacidades de um tipo, adicionando a este último novas funcionalidades que não foram previstas na classe original.

No caso específico da plataforma .NET, qualquer classe pode a princípio ser herdada. Embora esta capacidade seja uma característica desejável, existem situações em que surgirá a necessidade de se evitar tal comportamento. O desenvolvimento de frameworks exemplifica bem isto, em que proibir a herança de uma classe básica será muitas vezes um pré-requisito do próprio projeto em questão (a fim de evitar o uso incorreto das estruturas existentes ou devido a alguma restrição comercial).

Considerando o uso do C# para o desenvolvimento de soluções em .NET, empregar a palavra-chave sealed na declaração de uma classe corresponde ao meio através do qual será possível impedir que outras estruturas consigam herdá-la. Na listagem a seguir está um exemplo de utilização deste recurso, em que o tipo PessoaFisica foi marcado como sealed de forma a impossibilitar a implementação de subclasses derivadas do mesmo:

namespace TesteSealed
{
    public sealed class PessoaFisica
    {
        public string CPF { get; set; }
        public string RG { get; set; }
        public string Nome { get; set; }
    }
}

Supondo agora a codificação de uma classe chamada FuncionarioCLT, a qual derivaria de PessoaFisica:

namespace TesteSealed
{
    public class FuncionarioCLT : PessoaFisica
    {
        public string CTPS { get; set; }
    }
}

A tentativa de implementar este novo tipo herdando de PessoaFisica resultaria em um erro, como indicado na próxima imagem:

classes-sealed-01

Concluo assim mais este post sobre C#, lembrando que informações adicionais sobre classes sealed podem ser encontradas na seção de Referências.

Espero que este conteúdo possa ter sido útil.

Até uma próxima oportunidade!

Referências

sealed (C# Reference)
https://msdn.microsoft.com/en-us/library/88c54tsw.aspx

Renato Groffe

Atua como consultor em atividades voltadas ao desenvolvimento de softwares há mais de 13 anos. Bacharel em Sistemas de Informação, com especialização em Engenharia de Software. Microsoft Certified Technology Specialist (Web, WCF, Distributed Applications, ADO.NET, Windows Forms), Microsoft Specialist (HTML5 with JavaScript and CSS3, Developing ASP.NET MVC 4 Web Applications), Oracle Certified Associate (PL/SQL), Sun Certified (SCJP, SCWCD), ITIL Foundation V2, Cobit 4.1 Foundation.

Facebook Google+ 

Did you find apk for android? You can find new Free Android Games and apps.

Comentários

comentarios