PROGRAMAÇÃO ORIENTADA A OBJETOS EM FORTRAN

André Teofilo Beck, Felipe Alexander Vargas Bazán

Resumo


 

Este artigo apresenta conceitos fundamentais de programação orientada a objetos (OO) em FORTRAN. Em geral, os usuários de FORTRAN não estão familiarizados com estes conceitos, pois os compiladores desta linguagem não possuíam suporte para programação OO até o recente lançamento da versão 11.1 do compilador Intel Visual FORTRAN. Este compilador suporta a maioria das características de orientação a objetos do padrão FORTRAN 2003, permitindo a atualização de práticas de programação com esta importante metodologia. O principal objetivo do presente artigo é mostrar que o FORTRAN pode ser utilizado em um nível de abstração muito maior do que se constata na prática (em particular, na engenharia), utilizando conceitos de programação OO. O artigo apresenta o estado da arte da programação OO em padrões e compiladores de FORTRAN e discute conceitos de abstração de dados, encapsulamento e proteção de informação, classes e objetos. Os conceitos são apresentados independentemente de linguagem de programação, mas a implementação dos mesmos é ilustrada no FORTRAN 90/95/2003. A construção de classes polimórficas, por extensão de tipo e por hereditariedade, é ilustrada utilizando o novo compilador da Intel. Adicionalmente, o artigo mostra que é possível a emulação de polimorfismo em compiladores mais antigos e no FORTRAN 90/95, através do uso apropriado de ponteiros. Os conceitos são ilustrados em um exemplo acadêmico e didático, envolvendo um sistema de gerenciamento universitário, que manipula pessoas, alunos, professores, disciplinas e datas.

Palavras-chave: Programação de computadores. Programação orientada a objetos. Programação OO. FORTRAN.

BECK, A. T.; BAZÁN, F. A. V. Programação orientada a objetos em FORTRAN. Cadernos de Engenharia de Estruturas, v. 13, n. 60, p. 17-36, 2011. ISSN: 1809-5860.

 


Palavras-chave


Programação de computadores. Programação orientada a objetos. Programação OO. FORTRAN.

Texto completo: CAPA ARTIGO

Licença Creative Commons
Este trabalho está licenciado sob uma Licença Creative Commons Attribution 3.0 .