Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Por Que Usar Programação Orientada a Objetos? | Fundamentos de POO em C++
POO em C++

Por Que Usar Programação Orientada a Objetos?

Deslize para mostrar o menu

Imagine que você recebeu a tarefa de desenvolver um aplicativo de software para gerenciar dados de estudantes. À primeira vista, pode parecer simples. Você pode começar utilizando variáveis simples para armazenar o nome e o GPA de um estudante.

main.cpp

main.cpp

12345
int main() { std::string student_name = "Bob"; float grade_point_average = 3.3; }

Essa abordagem funciona bem para gerenciar um único estudante, mas as coisas ficam mais complexas com vários estudantes. Uma solução ingênua pode utilizar variáveis separadas para cada um, mas isso rapidamente se torna impraticável. Utilizar arrays é uma opção melhor para reduzir a repetição e melhorar a organização.

main.cpp

main.cpp

12345
int main() { std::string names[2] { "Bob", "Ann" }; float avarage_grades[2] { 3.3, 3.7 }; }

Isso funciona por enquanto. Mas e se for necessário armazenar mais detalhes, como números de telefone, datas de matrícula ou listas de cursos? À medida que os dados aumentam, gerenciar vários arrays separados se torna trabalhoso e sujeito a erros.

main.cpp

main.cpp

123456
int main() { std::string names[2] { "Bob", "Ann" }; float average_grades[2] { 3.3f, 3.7f }; std::string emails[2] { "bob@example.com", "ann@example.com" }; }

Para gerenciar esses dados, você pode criar funções que recebem esses valores como argumentos para realizar ações como exibir informações do estudante, atualizar o GPA ou alterar o endereço de e-mail. Porém, com vários estudantes e campos, você acaba repetindo os mesmos argumentos em diversas funções, tornando o código propenso a erros e difícil de manter.

functions.h

functions.h

123456
void get_student_info(int id, std::string names[], float gpa[], std::string emails[]); void set_student_info(int id, std::string names[], float gpa[], std::string emails[]); void set_student_name(int id, std::string names[], float gpa[], std::string emails[]); void set_student_gpa(int id, std::string names[], float gpa[], std::string emails[]); void set_student_email(int id, std::string names[], float gpa[], std::string emails[]);

Mesmo tarefas simples exigem passar o mesmo conjunto de arrays repetidamente. À medida que você adiciona mais campos, o código se torna cada vez mais complexo e repetitivo.

A Programação Orientada a Objetos (POO) resolve isso permitindo agrupar dados e comportamentos relacionados em um único contêiner chamado classe. Isso não apenas simplifica o código, mas também melhora a encapsulação ao controlar o acesso aos detalhes internos por meio de interfaces claras e bem definidas.

question mark

Qual das alternativas a seguir é a principal vantagem de usar programação orientada a objetos?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 2
some-alt