This thesis aims to evaluate the object-oriented (OO) features of the Octave programming
language, through the implementation of the popular Gang-of-Four (GoF) design
patterns. The study explores the fundamental principles of OO, including modularity,
inheritance, encapsulation, polymorphism, and abstraction, and investigates how these
concepts are supported by Octave. This research is conducted through the implementation
of two complete collections of the GoF patterns originally coded in Java and the
subsequent analysis of the quality of the implementations thus derived. This evaluation
is based on comparisons with their Java counterparts as regards modularity and flexible
module composition. To our knowledge, no study of this nature has been made on Octave.
This thesis is intended to contribute to a better understanding of Octave’s current
OO capabilities and limitations as well as its potential as a tool for developing complex
software systems.Esta tese visa avaliar as características orientadas a objetos (OO) da linguagem de programação
Octave, através da implementação dos populares design patterns dos Gang-of-Four
(GoF). O estudo explora alguns princípios fundamentais de OO, incluindo modularidade,
herança, encapsulamento, polimorfismo e abstração, e investiga o suporte de Octave a
estes conceitos. Esta investigação é conduzida através da implementação de duas coleções
completas dos padrões GoF originalmente desenvolvidos em Java e da análise subsequente
à qualidade das implementações assim derivadas. Esta avaliação é baseada em
comparações com os seus equivalentes Java no que diz respeito à modularidade e composição
de módulos flexível. Segundo a nossa pesquisa, ainda não foi feito qualquer estudo
desta natureza em Octave. Esta tese destina-se a contribuir para uma melhor compreensão
das atuais capacidades e limitações do paradigma OO em Octave, bem como do seu
potencial como ferramenta para o desenvolvimento de sistemas de software complexos