Escolar Documentos
Profissional Documentos
Cultura Documentos
Object Pascal
Object Pascal
CENTRO DE INFORMTICA
PARADIGMAS DE LINGUAGENS COMPUTACIONAIS
OBJECT PASCAL
OBJECT PASCAL
1. Introduo
Nas pginas a seguir descreveremos resumidamente a linguagem Object Pascal. No
poderamos, no entanto, deixar de falar um pouco sobre o ambiente de desenvolvimento
integrado (IDE) Delphi. Como veremos no restante deste artigo, h uma relao muito
estreita entre essa linguagem e o IDE. O nosso objetivo aqui dar uma viso geral dessa
linguagem, procurando dar nfase nas origens dela. O artigo comea com a descrio da
origem da linguagem Object Pascal (e do Delphi). A seguir veremos caractersticas que
tornam essa linguagem to diferente da conhecida linguagem estruturada Pascal. Depois
falaremos sobre a especificao e a utilizao da Object Pascal.
2. Origem
2.1 Pascal e Object Pascal
Pascal foi definida em 1970 pelo Prof. Niklaus Wirth do Swiss Federal Institute of
Technology (Zurich), como extenso do ALGOL (linguagem de programao voltada para
computao cientfica). Em um congresso em Zurich, um comit internacional designou o
ALGOL como uma linguagem independente de plataforma. Isto deu mais liberdade para as
caractersticas que eles poderiam colocar na linguagem, mas tambm tornou mais difcil a
escrita de compiladores para ela. A carncia de compiladores em muitas plataformas,
combinada com sua carncia de ponteiros e muitos tipos de dados bsicos tais como
caracteres, fez com que ALGOL no fosse amplamente aceito, o que fez com que essa
linguagem acabasse quase totalmente abandonada, exceto como linguagem para descrio
de algoritmos.
A especificao formal de Pascal foi publicada em 1971. O nome da linguagem foi
dado em homenagem ao filsofo e matemtico francs Blaise Pascal que inventou uma
mquina de calcular mecnica. Pascal bastante orientado a dados, dando ao programador
a capacidade de definir tipos de dados personalizados. Com esta liberdade veio a rgida
checagem de tipos, que garantiu que tipos no se misturariam. Pascal pretendia ser uma
linguagem educacional, e foi amplamente adotada como tal. Pascal de escrita mais livre,
diferente de FORTRAN, assim os estudantes no tinham que se preocupar com formatao.
Alm disso, Pascal se parece muito com uma linguagem natural, tornando muito fcil o
entendimento do cdigo escrito com ele.
Object Pascal a extenso orientada a objetos da linguagem Pascal que foi
desenvolvida pela Apple em parceria com Wirth, inventor de Pascal. Ela descende de uma
tentativa anterior de produzir uma verso orientada a objetos de Pascal, chamada ClasCal,
que foi inicialmente utilizada nos computadores Lisa da Apple. Na realidade existiram
poucas modificaes na sintaxe de Object Pascal em relao a Pascal. Um novo tipo de
dados foi adicionado, o objeto. Em adio, possvel especificar uma lista de
procedimentos e funes, referenciados como mtodos, para um tipo de objeto particular.
Estes mtodos definem as aes que aquele objeto deste tipo pode realizar. Como
adiantamos na introduo essa linguagem tem uma estreita relao com o IDE Delphi,
entenderemos como isso ocorre na prximo seo onde descreveremos de maneira breve a
histria da evoluo do Turbo Pascal ao Delphi.
2.2 Borland Pascal
Com o lanamento, em novembro de 1983, do Turbo Pascal 1.0, a Borland iniciou
sua jornada no mundo das Ferramentas e ambientes de desenvolvimento. Na criao do
Turbo Pascal a Borland licenciou um ncleo de compilador, desenvolvido por Anders
Hejlsberg, mais rpido e barato que os existentes na poca. Turbo Pascal introduziu um
ambiente de desenvolvimento integrado (IDE), onde era possvel editar o cdigo, executar
o compilador, observar os erros e voltar para as linhas que contm esses erros. O
compilador Turbo Pascal foi um dos mais vendidos em todos tempos, o que tornou a
linguagem popular em PCs.
2.3 Delphi
Delphi foi uma proposta da Borland para uma nova gerao de ambiente de
desenvolvimento visual para Windows, baseado na linguem de programao Object Pascal.
Aps o desenvolvimento de Turbo Pascal 1.0, Anders se tornou o arquiteto de todas as
verses do compilador Turbo Pascal e das primeiras trs verses de Delphi. Como arquiteto
chefe da Borland, Hejlsberg secretamente tornou Turbo Pascal numa aplicao de
desenvolvimento de linguagem orientada a objeto, completa e com um ambiente realmente
visual com suporte para acesso a banco de dados, assim se originou o Delphi.
Histria do Delphi
Tudo comeou com a primeira verso do Delphi. Na poca, a estratgia baseada em
formulrios e orientada a objetos, o compilador extremamente rpido, o timo suporte a
banco de dados, a ntima integrao com a programao Windows e a tecnologia de
componentes atraram a ateno da comunidade de desenvolvedores de software. O
elemento, mais importante desse produto, no entanto, era a sua linguagem, Object Pascal, a
fundao de todo o resto. O Delphi 2 apresentou novas caractersticas, como: objetos de
mltiplos registros, suporte automao OLE, o tipo de dados variante, um suporte e uma
integrao melhores com o Windows 95, o tipo de dados string longa e a herana visual de
formulrios. O Delphi 3 incluiu a tecnologia de viso de cdigo, o suporte depurao
DLL, os modelos de componentes, o TeeChart, o Decision Cube, a tecnologia WebBroker,
os pacotes de componentes, os ActiveForms e uma grande integrao com o COM. O
Delphi 4 incluiu o editor AppBrowser, novos recursos do Windows 98, melhor suporte a
OLE e COM, componentes de bancos de dados estendidos e muitas adies e melhorias nas
classes bsicas da VCL. O Delphi 5 incluiu mais aperfeioamentos ao IDE, suporte
estendido a bancos de dados (com os conjuntos de dados especficos ADO e Interbase),
uma verso melhorada do MIDAS com suporte Internet, a ferramenta de controle de
verso TeamSource, capacidades de converso, o conceito de quadros e componentes
novos. O Delphi 6 adicionou todo esse suporte a recursos para o desenvolvimento
independente de plataforma com a CLX, uma biblioteca de tempo de execuo estendida, o
mecanismo de bancos de dados dbExpress, servios da Web, mais aperfeioamentos no
IDE e muitas classes e componentes. Por fim, chegamos ao Delphi 7. Essa verso tornou
mais robustas algumas dessas novas tecnologias com aperfeioamentos e correes (como
por exemplo, no SOAP e no DataSnap) alm de oferecer suporte a tecnologias mais
recentes (como os temas do Windows XP e UDDI). Outra novidade o fato de pela
primeira vez, a Borland fornecer um compilador que no vise o processador Intel, mas sim
a plataforma CIL do .NET.
Como podemos ver, o Delphi possui muitos recursos, e apesar de ser uma tima
ferramenta e, at certo ponto, simples de usar, trata-se de um ambiente complexo de
programao que envolve muitos elementos. O leitor iniciante pode at ficar assustado com
tantas siglas e tantas tecnologias envolvidas. No entanto, no restante do texto, procuramos
fazer uma introduo s principais caractersticas da programao Delphi, focando
principalmente na orientao a objetos. Para maiores detalhes, consultar as referncias no
final desse artigo.
3. Caractersticas
A linguagem Object Pascal possui muitas semelhanas com a linguagem Pascal.
Basicamente a estrutura bsica da sintaxe no foi modificada. No entanto, h uma mudana
radical no paradigma da linguagem Object Pascal: A essa linguagem foram acrescentadas
caractersticas orientadas a objeto que mudam radicalmente o estilo de programao. Aqui
sero analisadas justamente essas novas caractersticas. No ser, portanto, discutido nesse
documento a parte bsica da linguagem, vinda de Pascal.
Podemos citar as seguintes caractersticas como as mais importantes extenses que
foram acrescentadas linguagem Pascal para obter a linguagem Object Pascal:
1. Definio de novos tipos por meio das palavras reservadas type e class.
2. Encapsulamento obtido usando os modificadores de acesso: public, protected e
private. Outro recurso poderoso que a linguagem apresenta para a obteno de
encapsulamento so as propriedades.
3. Herana
4. Polimorfismo (Dynamic Binding) o mtodo a ser chamado conhecido apenas em
tempo de execuo, dependendo do tipo do objeto para o qual o mtodo foi
chamado. Obtemos polimorfismo com o uso das palavras reservadas virtual (ou
dynamic) e override.
5. Mtodos abstratos. Uma caracterstica interessante de Object Pascal que, ao
contrrio da maioria das outras linguagens orientadas a objeto, permitido criar
instncias de classes com mtodos abstratos (embora no seja permitido chamar tais
mtodos, o que geraria uma exceo).
6. Excees O mecanismo de excees de Object Pascal baseia-se em quatro
palavras reservadas: try, except, finally, raise.
7. Suporte a Multithreading.
4. Implementao
Aplicaes em Delphi so compostas por um arquivo de projeto (.DPR), Forms e
Units. Um Form uma janela na qual podem ser acrescentados componentes de interface
grfica. Uma Unit um arquivo do tipos .PAS, que guarda o cdigo das Forms ou a
definio de tipos e funes.
// Arquivo AbstractAnimals.dpr
program AbstractAnimals;
uses
Forms,
AnimF in 'AnimF.pas' {FormAnimals},
Anim in 'Anim.pas';
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TFormAnimals, FormAnimals);
Application.Run;
end.
// Arquivo Anim.pas
unit Anim;
interface
type
TAnimal = class
public
constructor Create;
function GetKind: string;
function Voice: string; virtual;
abstract;
private
Kind: string;
end;
TDog = class (TAnimal)
// Herana
public
constructor Create;
function Voice: string; override;
function Eat: string; virtual;
end;
TCat = class (TAnimal)
// Herana
public
constructor Create;
function Voice: string; override;
function Eat: string; virtual;
end;
implementation
uses
MMSystem;
constructor TAnimal.Create;
begin
Kind := 'An animal';
end;
5. Utilizao
Object Pascal utilizado em dois ambientes de desenvolvimento, Delphi, para o
sistema operacional Windows e Kylix, para Unix e nestes ambientes possvel desenvolver
aplicaes que necessitem da orientao a objetos.
No ambiente Delphi, por ser baseada em formulrios, compilvel, suportar acesso a
banco de dados e conter vrias bibliotecas na plataforma Windows, que a mais utilizada,
torna-se mais simples desenvolver aplicaes que possuam interface grfica com usurio
(GUI Grafic User Interface). Dessa forma, utilizada, dentre outras, em aplicaes em
desktop, na web e principalmente em banco de dados.
6. Referncias Bibliogrficas
1. Sonnino, Bruno Desenvolvendo Aplicaes com Delphi 5, MAKRON Books, 2000.
2. Cant Marco Dominando o Delphi 7, MAKRON Books, 2003.
3. Wikipedia, the free encyclopedia(http://en.wikipedia.org/wiki/Main_Page)
4. www.borland.com
5. http://www.mactech.com/articles/mactech/Vol.02/02.12/ObjectPascal/