Este capítulo abordará os conceitos fundamentais da Orientação a Objetos e a importância da Modelagem de Sistemas no desenvolvimento de software.
A Orientação a Objetos (OO) é um paradigma de programação que se baseia na composição e interação entre diversas unidades chamadas de "objetos". Esse conceito busca espelhar a forma como percebemos o mundo real.
No mundo real, nos deparamos com inúmeras "coisas". Na terminologia da orientação a objetos, essas "coisas" são chamadas de objetos. Um objeto é uma abstração de uma entidade, seja ela concreta ou abstrata, que possui sua própria existência, características e desempenha alguma função no mundo real.
Exemplos de objetos:
Os objetos são definidos por suas características e comportamentos:
Seres humanos tendem a agrupar objetos para facilitar sua compreensão. A descrição de um grupo de objetos é denominada classe de objetos, ou simplesmente classe.
Uma classe define um modelo para a criação de um tipo específico de objetos. Ela encapsula (reúne) em um único componente dois tipos de membros:
É fundamental compreender que uma classe não representa nenhum objeto em particular, mas sim um modelo para a criação de objetos.
A relação entre classes e objetos pode ser entendida como a de um modelo para suas instâncias.
Uma classe pode ser representada graficamente por um retângulo dividido em três partes: nome da classe, seus atributos e seus métodos. Essa representação é padronizada pela UML (Unified Modeling Language).