Este capítulo abordará os conceitos fundamentais da Orientação a Objetos e a importância da Modelagem de Sistemas no desenvolvimento de software.



1.1. Desenvolvimento de Sistemas Orientados a Objetos 🔄

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:


1.2. Objetos: Atributos e Métodos 🧑‍💻📚

Os objetos são definidos por suas características e comportamentos:


1.3. Classes: O Modelo dos Objetos 🗂️

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.


1.4. Classes x Objetos: A Relação Modelo-Instância 🍰

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).