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++
C++ Poo
course content

Conteúdo do Curso

C++ Poo

C++ Poo

1. Fundamentos de POO em C++
2. Construtores e Destrutores
3. Visão Geral do Encapsulamento
4. Visão Geral de Herança
5. Visão Geral do Polimorfismo

book
Por Que Usar Programação Orientada a Objetos?

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

copy
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 múltiplos estudantes. Uma solução ingênua pode utilizar variáveis separadas para cada um, mas isso rapidamente se torna incontrolável. Utilizar arrays é uma opção melhor para reduzir a repetição e melhorar a organização.

main.cpp

main.cpp

copy
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 torna-se trabalhoso e propenso a erros.

main.cpp

main.cpp

copy
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, pode-se 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. No entanto, com vários estudantes e campos, acaba-se repetindo os mesmos argumentos em diversas funções, tornando o código propenso a erros e difícil de manter.

functions.h

functions.h

copy
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 a passagem do mesmo conjunto de arrays repetidamente. Ao adicionar mais campos, o código se torna cada vez mais complexo e repetitivo.

A Programação Orientada a Objetos (POO) resolve isso ao permitir 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?

Select the correct answer

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

course content

Conteúdo do Curso

C++ Poo

C++ Poo

1. Fundamentos de POO em C++
2. Construtores e Destrutores
3. Visão Geral do Encapsulamento
4. Visão Geral de Herança
5. Visão Geral do Polimorfismo

book
Por Que Usar Programação Orientada a Objetos?

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

copy
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 múltiplos estudantes. Uma solução ingênua pode utilizar variáveis separadas para cada um, mas isso rapidamente se torna incontrolável. Utilizar arrays é uma opção melhor para reduzir a repetição e melhorar a organização.

main.cpp

main.cpp

copy
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 torna-se trabalhoso e propenso a erros.

main.cpp

main.cpp

copy
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, pode-se 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. No entanto, com vários estudantes e campos, acaba-se repetindo os mesmos argumentos em diversas funções, tornando o código propenso a erros e difícil de manter.

functions.h

functions.h

copy
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 a passagem do mesmo conjunto de arrays repetidamente. Ao adicionar mais campos, o código se torna cada vez mais complexo e repetitivo.

A Programação Orientada a Objetos (POO) resolve isso ao permitir 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?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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