object oriented programming c
Introdução à Programação Orientada a Objetos em C ++.
Com este tutorial, estamos iniciando uma série de tutoriais para aprender sobre C ++ como uma linguagem de programação orientada a objetos.
Como sabemos, antes da programação orientada a objetos (OOP), os programas eram escritos usando linguagens procedurais. Linguagens procedurais enfatizam funções. Os problemas maiores são divididos em subproblemas menores e escritos como funções.
=> Veja aqui para explorar a lista completa de tutoriais C ++.
As linguagens de procedimento não prestaram atenção aos dados. Como resultado, a possibilidade de não abordar o problema de forma eficaz era grande. Além disso, como os dados foram quase negligenciados, a segurança dos dados foi facilmente comprometida.
Todas essas desvantagens da programação procedural foram superadas pela programação orientada a objetos.
Neste tutorial, discutiremos os fundamentos da programação orientada a objetos e, em resumo, todos os recursos da OOP.
O que você aprenderá:
- Programação orientada a objetos em C ++
- Por que C ++ é parcial OOP?
- Recursos OOP
- Vantagens de OOP
- Conclusão
- Leitura recomendada
Programação orientada a objetos em C ++
A programação orientada a objetos gira em torno de dados. A principal unidade de programação do OOP é o objeto. Um objeto é uma representação de uma entidade em tempo real e consiste em dados e métodos ou funções que operam nos dados. Dessa forma, os dados e funções são estreitamente vinculados e a segurança dos dados é garantida.
Na OOP, tudo é representado como um objeto e quando os programas são executados, os objetos interagem entre si, passando mensagens. Um objeto não precisa saber os detalhes de implementação de outro objeto para se comunicar.
Além de objetos, OOP oferece suporte a vários recursos que estão listados abaixo:
- Aulas
- Encapsulamento
- Abstração
- Herança
- Polimorfismo
Usando OOP, escrevemos programas usando classes e objetos, utilizando os recursos acima. Uma linguagem de programação é considerada uma verdadeira linguagem de programação orientada a objetos se tudo o que ela representa está usando um objeto. Smalltalk é uma linguagem que é pura linguagem de programação orientada a objetos.
Por outro lado, linguagens de programação como C ++ e Java são consideradas linguagens de programação orientadas a objetos parciais.
Por que C ++ é parcial OOP?
A linguagem C ++ foi projetada com o objetivo principal de usar recursos orientados a objetos para a linguagem C.
Embora a linguagem C ++ suporte os recursos de OOP como classes, objetos, herança, encapsulamento, abstração e polimorfismo, existem alguns motivos pelos quais C ++ é classificado como uma linguagem de programação orientada a objeto parcial.
fila de matriz circular c ++
Apresentamos alguns desses motivos a seguir:
# 1) A criação de classes / objetos é opcional
Em C ++, a função principal é obrigatória e está sempre fora da classe. Portanto, podemos ter apenas uma função principal no programa e podemos fazer sem classes e objetos.
Esta é a primeira violação da linguagem Pure OOP, onde tudo é representado como um objeto.
# 2) Uso de variáveis globais
C ++ tem um conceito de variáveis globais que são declaradas fora do programa e podem ser acessadas por qualquer outra entidade do programa. Isso viola o encapsulamento. Embora C ++ suporte o encapsulamento em relação a classes e objetos, ele não cuida disso no caso de variáveis globais.
# 3) Função de presença de um amigo
C ++ oferece suporte a uma classe ou função amiga que pode ser usada para acessar membros privados e protegidos de outras classes, tornando-os amigos. Este é mais um recurso do C ++ que viola o paradigma OOP.
Para concluir, embora C ++ suporte todos os recursos OOP mencionados acima, ele também fornece recursos que podem atuar como uma solução alternativa para esses recursos, para que possamos passar sem eles. Isso torna o C ++ uma linguagem de programação orientada a objetos parcial.
Recursos OOP
Aqui, apresentaremos vários recursos OOP que são usados para programação.
Classes e objetos
Um objeto é uma unidade básica na programação orientada a objetos. Um objeto contém dados e métodos ou funções que operam nesses dados. Os objetos ocupam espaço na memória.
Uma classe, por outro lado, é um projeto do objeto. Por outro lado, um objeto pode ser definido como uma instância de uma classe. Uma classe contém um esqueleto do objeto e não ocupa nenhum espaço na memória.
Vamos dar uma Exemplo de um objeto de carro. Um objeto de carro chamado “Maruti” pode ter dados como cor; marca, modelo, limite de velocidade, etc. e funções como acelerar. Definimos outro objeto “ford”. Isso pode ter dados e funções semelhantes aos do objeto anterior, além de mais algumas adições.
Da mesma forma, podemos ter vários objetos de nomes diferentes com dados e funções semelhantes e algumas variações menores.
Assim, em vez de definir esses dados e funções semelhantes nesses objetos diferentes, definimos um projeto desses objetos que é uma classe chamada Carro. Cada um dos objetos acima serão instâncias deste carro de classe.
Abstração
Abstração é o processo de ocultar informações irrelevantes do usuário. Por exemplo , quando estamos dirigindo o carro, primeiro ligamos o motor inserindo uma chave. Não temos conhecimento do processo que ocorre em segundo plano para ligar o motor.
Usando abstração na programação, podemos ocultar detalhes desnecessários do usuário. Ao usar abstração em nosso aplicativo, o usuário final não é afetado, mesmo se alterarmos a implementação interna.
Encapsulamento
Encapsulamento é o processo pelo qual os dados e os métodos ou funções que operam neles são agrupados. Ao fazer isso, os dados não são facilmente acessíveis ao mundo externo. Na OOP, alcançamos o encapsulamento tornando os membros de dados privados e tendo funções públicas para acessar esses membros de dados.
Herança
Usar o objeto de herança de uma classe pode herdar ou adquirir as propriedades do objeto de outra classe. A herança fornece capacidade de reutilização de código.
Assim, podemos projetar uma nova classe adquirindo as propriedades e a funcionalidade de outra classe e, nesse processo, não precisamos modificar a funcionalidade da classe pai. Nós apenas adicionamos novas funcionalidades à classe.
Polimorfismo
Polimorfismo significa muitas formas.
O polimorfismo é uma característica importante da OOP e geralmente é implementado como sobrecarga do operador ou sobrecarga da função. A sobrecarga do operador é um processo no qual um operador se comporta de maneira diferente em diferentes situações. Da mesma forma, na sobrecarga de função, a mesma função se comporta de maneira diferente em diferentes situações.
Ligação Dinâmica
OOP suporta vinculação dinâmica na qual a chamada de função é resolvida no tempo de execução. Isso significa que o código a ser executado como resultado de uma chamada de função é decidido em tempo de execução. As funções virtuais são um exemplo de vinculação dinâmica.
Passagem de mensagens
Na OOP, os objetos se comunicam entre si por meio de mensagens. Quando os objetos se comunicam, as informações são transmitidas e transmitidas entre os objetos. Uma mensagem geralmente consiste no nome do objeto, nome do método e dados reais que devem ser enviados a outro objeto.
Vantagens de OOP
Vamos discutir algumas das vantagens do OOP.
# 1) Reutilização
OOP permite que o código existente seja reutilizado por meio de herança. Podemos adquirir facilmente a funcionalidade existente e melhorá-la sem ter que reescrever o código novamente. Isso resulta em um código menos inchado.
# 2) Modularidade
À medida que modularizamos o programa em OOP, é fácil modificar ou solucionar o programa se ocorrer um problema ou se for adicionado um novo recurso ou aprimoramento. A modularização também ajuda na clareza do código e o torna mais legível.
# 3) Flexibilidade
OOP nos ajuda com uma programação flexível usando o recurso de polimorfismo. Como o polimorfismo assume muitas formas, podemos ter operadores ou funções que funcionarão com muitos objetos e, assim, nos salvar de escrever funções diferentes para cada objeto.
# 4) Manutenção
Manter o código é mais fácil, pois é fácil adicionar novas classes, objetos, etc, sem muita reestruturação ou mudanças.
# 5) Ocultação de dados e informações
OOP nos ajuda na ocultação de dados, evitando que as informações vazem. Apenas os dados necessários para o bom funcionamento do programa são expostos ao usuário, ocultando detalhes intrínsecos.
como copiar um dvd de graça
Conclusão
OOP é o paradigma de programação mais importante e flexível da programação moderna. É especificamente útil na modelagem de problemas do mundo real e, portanto, muito popular.
Discutimos os vários recursos de OOP neste tutorial. Mais adiante, discutiremos todos esses recursos em detalhes.
O próximo tópico desta série “OOP com C ++” enfocará classes e objetos em detalhes.
=> Clique aqui para ver a série de treinamento Absolute C ++.
Leitura recomendada
- OOP Java: introdução à programação orientada a objetos em Java
- Tipos de dados C ++
- As 10 principais ferramentas de ciência de dados em 2021 para eliminar a programação
- Abstração de dados em C ++
- Introdução às estruturas de dados em C ++
- Tutorial de Pipes Unix: Pipes em Programação Unix
- QTP Tutorial # 8 - Aprenda sobre os modos de gravação QTP, Object Spy e repositórios de objetos
- Mais de 70 MELHORES tutoriais em C ++ para aprender programação C ++ GRATUITAMENTE