ALVIMAR CAMPOS
CARLOS ROBERTO XAVIER DA SILVA
DHENNYFER BELM DE SOUZA
ROBERTO DO CARMO CARVALHO
TAILINE DE SOUSA DE FREITAS
EUNAPOLIS-BA
2015
Abstract. The present article tries discuss the origins and basics of computer
programming paradigm Object Oriented called in the jargon of Information
Technology (IT) such as OOP. To base it, the argument contained herein initially refers
to human philosophical reasoning (especially Cartesian) that theorized in the
seventeenth century, about the undoubted understanding of the physical things, the
objects, including the concept of abstraction from a practical point of view. Next,
considering important and recognized references produced in the computing segment
level, we discuss in brief history, the emergence of this important form of computer
programming. Finally, determining the completion of what is proposed, is to present the
main definitions relating to Object Oriented Programming (classes, class instantiation the objects, attributes and methods), its peculiarities (the basic pillars of OOP) and
subliminally, the advantages against to the form of procedural or structured code
programs.
Resumo. O presente artigo intenta discorrer sobre os primrdios e caractersticas bsicas
do paradigma de programao computacional Orientada a Objetos, denominada no
jargo da Tecnologia da Informao (TI) como POO. Para fundament-lo, a
argumentao aqui contida recorre inicialmente ao raciocnio filosfico humano
(sobretudo o cartesiano) que teorizava, no sculo XVII, a respeito do entendimento
indubitvel das coisas fsicas, os objetos, incluindo o conceito de abstrao do ponto de
vista prtico. A seguir, considerando importantes e reconhecidas referncias produzidas
no mbito do segmento da informtica, aborda-se, em breve histrico, o surgimento
desta importante forma de programao de computadores. Finalmente, determinando a
concluso do que se prope, trata de apresentar as principais definies atinentes
Programao Orientada a Objetos (classes, instanciao de classes - os objetos, atributos
e mtodos), suas peculiaridades (os pilares bsicos da POO) e, subliminarmente, as
vantagens em comparao forma procedural ou estruturada de codificar programas.
Figura 03. Alan Kay (centro da imagem, entre as crianas), consultor da pesquisa
educacional que resultou na criao da Linguagem SmallTalk. (fonte:
http://ei.cs.vt.edu/~history/GASCH.KAY.HTML)
Programao
procedures) bem definidas que instruem sua execuo, porm, devido ao baixo nvel de
abstrao tem limitaes relacionadas complexidade do cdigo e sua reutilizao em
outros sistemas.
O princpio basilar da Programao Orientada a Objetos fundado na ideia de
que os objetos dispostos num determinado sistema interagem entre si, num fluxo que
engloba todo o programa. Este paradigma de programao, baseado no relacionamento
(comunicao) entre diferentes objetos, est calado na abstrao de verbos,
substantivos e adjetivos imputados s subclasses, tornados em objetos, e permite a
herdabilidade de propriedades a favor de quaisquer objetos instanciados. Esta interao
ocorre em funo das mensagens trocadas entre si, oportunidade em que mtodos e/ou
comportamentos de certo objeto, se requeridos, so designados para outro objeto para
que este assuma funo semelhante daquele. (Sintes, 2002).
Enfim, a POO, tratando-se de um paradigma que alm de procedural e modular,
abstrato, e que alm de tudo admite a particularizao das subclasses em objetos
independentes, diferencia-se com larga vantagem em relao s demais (tradicionais,
estruturadas, modulares, ou com abstrao apenas de dados), por flexibilizar processos
que, por exemplo, tornam possveis quaisquer modificaes nas caractersticas e
funes de objetos-alvo sem comprometimento ao restante da estrutura do cdigo j que
os mtodos so dirigidos a objetos (ou classes, se for o caso) especficos numa interao
direta, o que impossvel de se realizar em programas montados sob outras linguagens
em que os procedimentos (ou funes) so aplicados de forma global aos dados,
conforme se verifica nas figuras 5 e 6 a seguir.
3.2 Objeto
Ainda segundo Azevedo (2015), Objeto o incio da construo de uma
classe. Numa classe de Animais, por exemplo, da qual se instancia o objeto gato,
este ltimo mantm o atributo de ser um animal, mas detm caractersticas especficas.
Da mesma forma, uma classe de Funcionrios pode ter vrios objetos. Gerente,
secretria, etc., podem ocupar uma mesma Classe pelo fato de serem funcionrios, e
possuem caractersticas e aes particulares ou comuns discriminadas conforme seus
Mtodos e Atributos. Desta feita, objetos tm variveis e mtodos caractersticos a eles.
Classes
1Funcionarios
objetos
1.1-gerente
2-Animais
2.1-gato
3.3 Atributo
Segundo Azevedo (2015), atributos so as caractersticas do objeto, ou variveis da
Classe. Por exemplo: Em uma classe de funcionrios podem existir vrios vendedores.
Os atributos diferenciam um objeto do outro, j que cada objeto possui sua
caracterstica. No caso exemplificado no esquema representado a seguir, cada objeto
(venderor_1 e vendedor_2) instanciado da Classe Funcionario tem seu atributo nico.
Classe
Funcionario
objetos
Atributos
Vendedor_1
Vendedor_2
comissionado
assalariado
Classe
ANIMAL
objetos
Atributos
gato
co
RaaLabrador
MetodoFalar
RaaSiams
Latir
Miar
OBJETO 1
Herda de
OBJETO 2
Herda de
... OBJETO n
Figura 10. Herana na Orientao a Objetos
4.4 Polimorfismo
No polimorfismo, as Classes (ou objetos) derivadas de uma nica SuperClasse so
capazes de invocar mtodos que, embora apresentem a mesma assinatura, comportam-se
de maneira diferente. A figura 09 apresentada anteriormente neste artigo tambm
demonstra esta propriedade. Um nico mtodo (falar) aplicado a dois objetos resultou
em eventos diferentes (Latir e Miar).
5. Bibliografia
Ambler, Scott W., (1998), Anlise e Projeto Orientado a Objeto Vol. II, Editora
InforBook, Traduo: Oswaldi Zanelli, Brasil.
Azevedo, Andrielle. In: <https://andrielleazevedo.wordpress.com/2011/08/11/conceitosbasicos-de-poo-programacao-orientada-a-objetos-para-c-parte-1/>. Acessado em 7
de outubro de 2015.>
Cores. In: <http://www.amd.com/pt-br/innovations/software-technologies/processorsfor-business/compute-cores>. Acessado em 7 de outubro de 2015.
Cray T-90. In: <http://www.craywiki.com/index.php?title=Cray_T90.> Acessado em 1
de outubro de 2015.
Junior, Aparecido Vilela (2012), Circuitos Lgicos, In: Fundamentos e Arquitetura de
Computadores. CESUMAR Centro Universitrio De Maring - Ncleo de
Educao distncia. 153 p.
Manzano, Jos Augusto N. G. e Oliveira, Jayr Figueiredo (2011), Algoritmos Lgica
para Desenvolvimento de Computadores, Editora tica Ltda. So Paulo Brasil.
220 p.
Monteiro, Mrio A. (2011), Conjunto de Instrues, In: Introduo Organizao de
Computadores, Ed. LTC. Brasil. p. 308-309.
Reale, Giovanni e Antiseri, Darlo (2005), Histria da Filosofia: Do Humanismo
Descartes, 2 Edio, Ed. Paullus, Traduo Ivo Storniolo, Brasil, 321 p.
Sintes, Anthony (2002), Aprenda Programao Orientada a Objetos. 2002. Pearson
Makron Books, Traduo: Joo Eduardo Nbrega Tortello. 693 p.
Sklenar,
Jaroslav
(1997),
Introduction
to
OPP
in
Simula,
<http://staff.um.edu.mt/jskl1/talk.html> Acessado em 25 de outubro de 2015.
In: