Orientação a objetos (OO) é um paradigma de programação que se concentra na criação de objetos, que podem ser considerados como instâncias de uma classe, que é um tipo de modelo ou molde para criar esses objetos.
Os conceitos básicos de orientação a objetos incluem:
- Classe: é um modelo ou molde para criar objetos. Define as propriedades e métodos que os objetos podem ter.
- Objeto: é uma instância de uma classe. É uma entidade que tem um estado e um comportamento definidos pela classe à qual pertence.
- Encapsulamento: é a capacidade de esconder os detalhes de implementação de uma classe e expor apenas sua interface pública.
- Herança: é a capacidade de uma classe herdar propriedades e métodos de outra classe, permitindo que classes filhas reutilizem o código da classe pai.
- Polimorfismo: é a capacidade de um objeto ter muitas formas ou comportamentos. Em outras palavras, objetos do mesmo tipo podem ter comportamentos diferentes.
- Abstração: é a capacidade de se concentrar nas informações importantes e ignorar os detalhes irrelevantes. Em programação orientada a objetos, a abstração permite que você crie classes abstratas que definem apenas a estrutura geral de um objeto, sem se preocupar com detalhes específicos de implementação.
- Métodos: são as ações que um objeto pode executar. Eles são definidos dentro de uma classe e podem manipular o estado interno do objeto.
- Atributos: são as características ou propriedades que um objeto possui. Eles também são definidos dentro de uma classe e podem ser usados para armazenar informações sobre o objeto.
- Construtores: são métodos especiais que são usados para criar e inicializar objetos. Eles são executados automaticamente quando um objeto é criado.
- Instância: é um objeto específico que foi criado a partir de uma classe.
A OO é uma forma poderosa de escrever programas que pode tornar seu código mais fácil de entender, reutilizar e manter. Cole no comentário as respostas da atividade de OO.

11 – Pesquise e descreva as diferenças das linguagens de programação C e C++.
Paradigma:
C: é uma linguagem procedural. Ela se concentra em funções e procedimentos que manipulam dados e seguem uma abordagem passo a passo para resolver problemas.
C++: C++ é uma linguagem multiparadigma que suporta programação procedural, orientada a objetos e genérica. Além de funções e procedimentos, ela permite o uso de classes, objetos, herança e polimorfismo.
Orientação a Objetos:
C: não suporta recursos de programação orientada a objetos nativamente. Ele não possui classes, objetos, herança ou polimorfismo.
C++: é projetado para suportar programação orientada a objetos. Ele possui recursos como classes, objetos, herança, polimorfismo, encapsulamento e sobrecarga de operadores.
Manipulação de Strings:
C: Em C, as strings são tratadas como arrays de caracteres terminados por um caractere nulo (‘\0’). A manipulação de strings requer o uso de funções da biblioteca padrão, como strcpy e strlen.
C++: fornece uma classe string embutida que facilita a manipulação de strings. Ela suporta operações como concatenação, comparação e busca, e oferece métodos e sobrecarga de operadores para facilitar a manipulação de strings.
Gerenciamento de Memória:
C: Em C, o programador é responsável pelo gerenciamento manual da memória. Ele deve alocar e liberar a memória explicitamente usando funções como malloc e free.
C++: possui recursos adicionais de gerenciamento de memória em comparação com C. Ele oferece alocação e liberação de memórias automáticas por meio de construtores e destrutores, além do suporte a recursos como o operador new e delete, e os recursos de gerenciamento de memória inteligente, como ponteiros inteligentes (smart pointers).
Compatibilidade:
C: O código em C é amplamente compatível com C++. Os compiladores C++ podem compilar código C, permitindo que bibliotecas e código C sejam usados em programas C++.
C++: Nem todo código C++ é compatível com C. Devido às diferenças de recursos e sintaxe, alguns recursos específicos do C++ podem não ser reconhecidos por compiladores de C.
CurtirCurtir
Ex 9 // Lista 12
Java: é uma linguagem de programação de propósito geral orientada a objetos. É conhecida por sua portabilidade, segurança e robustez. Ela é utilizado no desenvolvimento de aplicativos de desktop , aplicativos móveis, sistemas embarcados e na construção de um aplicativo da web.
C++: é uma linguagem de programação que suporta programação orientada a objetos. Ela é uma extensão da linguagem C e oferece recursos adicionais, e é amplamente utilizado no desenvolvimento de sistemas de software de alto desempenho, jogos, aplicativos de baixo nível e de drivers de dispositivos.
C sharp (C#): é uma linguagem de programação desenvolvida pela Microsoft, projetada para desenvolvimento de aplicativos para a plataforma .NET. Ela é semelhante ao Java em termos de sintaxe e recursos orientados a objetos. É comumente usado para desenvolvimento de aplicativos Windows, aplicativos web, jogos e aplicativos móveis.
Pyton: é uma linguagem de programação de alto nível. Ela enfatiza a legibilidade e a simplicidade do código. É amplamente usado em várias áreas, como desenvolvimento web, ciências de dados, automação de tarefas e inteligência artificial.
Ruby: é uma linguagem de programação dinâmica, interpretada e orientadas a objetos. É conhecida por sua sintaxe concisa e expressiva. É amplamente utilizados para o desenvolvimento web e em aplicativos de automação.
CurtirCurtir
EX_2:
Qual a diferença do paradigma orientado a objetos para o paradigma de programação estruturado?
CurtirCurtir
EX_1:
O que é o paradigma de programação orientado a objetos?
CurtirCurtir