De que se trata o artigo

Este artigo apresenta uma simples introdução a alguns conceitos importantes da Orientação a Objetos que serão aplicados ou comentados, tendo seu foco voltado para a utilização do recurso de herança, que em suma provê a capacidade de uma classe herdar outra, demonstrando formas de aplicar a mesma no Delphi com formulários e outros componentes.


Em que situação o tema é útil

Aumentar a produtividade no desenvolvimento e manutenção de qualquer software personalizado aplicando alguns conceitos de OO como herança, bem como demonstrar uma forma de sobrescrever, estender ou adicionar métodos a classes existentes, possibilitando assim a alteração do comportamento das mesmas, além de proporcionar uma melhor organização dos códigos do projeto.

Herança Aplicada

A Orientação a Objetos em suma, tem por base a utilização de grupos de objetos contendo atributos e métodos que podem interagir entre si. Este conceito é amplamente utilizado pelas ferramentas de desenvolvimento de aplicações da atualidade, incluindo o Delphi XE 2 e outras versões. Com recursos como a herança, o desenvolvimento de um software se torna uma tarefa mais simples e rápida, uma vez que os elementos e códigos das classes podem ser reaproveitados de uma forma mais eficiente, possibilitando assim que métodos sejam alterados, sobrescritos, sobrecarregados, estendidos, etc. Além disso, também é possível economizar muito tempo nas manutenções, uma vez que em vários casos as informações encontram-se centralizadas em uma classe pai, que uma vez alterada, faz com que todas as subclasses descendentes da mesma recebam a atualização. Neste artigo é apresentado como utilizar a herança na prática nas aplicações Delphi para aumentar a produtividade e economizar muito tempo no desenvolvimento de qualquer aplicação que utilize elementos e métodos em comum.

O conceito de Orientação a Objetos (OO) está presente em grande parte das linguagens de programação da atualidade e possibilita o projeto e desenvolvimento de softwares de uma maneira organizada, sendo baseado em coleções de objetos que possuem seus próprios comportamentos e estruturas. Teve seus primeiros conceitos oficializados na década de 60 pelo Simula, uma linguagem que incorporou diversas facilidades para a definição de classes, subclasses e objetos. No cenário da OO, o planejamento das aplicações tem seu foco voltado para os objetos do mundo real, sua implementação computacional, suas informações e suas funções.

Existem diversas vantagens ao aplicar este conceito, como a reutilização ou compartilhamento de códigos, redução do custo, aumento da produtividade, qualidade, maior confiabilidade, facilidade de manutenção, entre outros.

Na OO são implementadas as classes para a definição dos objetos que compõem a aplicação, onde cada classe determina os comportamentos e estados dos objetos, bem como seus relacionamentos. Um importante recurso presente neste conceito é a herança. Ela é extremamente útil no desenvolvimento de aplicações e um dos pilares da Orientação a Objetos. O modelo convencional deste recurso prevê que as classes podem herdar métodos e atributos de outras, denominadas superclasses ou classes “pai”, ou de uma hierarquia, onde as classes que herdam as informações de outras são conhecidas como derivadas, descendentes, classes filhas ou subclasses. Estas últimas por sua vez, podem implementar características únicas e particulares além das propriedades herdadas da classe pai, frisando que tais propriedades não precisam ser repetidas em cada subclasse. O conceito de hierarquia prevê que uma classe mais genérica, ocupando o topo, vai sendo estendida e as classes que se encontram na base são mais especificas. Este conceito é muito importante para a organização e ordenação de classes em projetos composto por um extenso conjunto de objetos.

Outro ponto importante com relação aos atributos e métodos de uma classe é o conceito de controle de acesso. Ele prevê que tais elementos são declarados dentro de uma seção, também conhecida como especificador de acesso. O especificador pode ser privado, público ou protegido. No especificador privado (private), a visibilidade dos elementos como atributos e métodos é limitada, implicando que os mesmos são exclusivamente acessados pelas operações internas da própria classe. No especificador protegido (protected) os membros da classe base tornam-se elementos protegidos da classe derivada. Já no especificador público (public) os membros são visíveis por outras classes, permitindo assim que sejam efetuados acessos externos a tais recursos sem restrições.

Existem outros conceitos presentes na OO que também merecem destaque, entre eles a agregação e a composição. O termo agregação define que existe uma fraca dependência entre um objeto com outros objetos (partes), onde a remoção de um objeto não implica que o outro também seja removido. Já no caso da composição um objeto é composto por outros, o que implica que se o mesmo for removido, todos os outros também serão eliminados, definindo assim uma dependência forte. A ...

Quer ler esse conteúdo completo? Tenha acesso completo