Foto de João M.
João há 1 ano
Enviada pelo
Site

Existe c orientado a objeto?

Eu sei que o C não é uma linguagem orientada a objetos, mas as structs não permitem fazer isso?

Professor Gabriel G.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Gabriel

Sim e não.

 

O C não é orientado a objetos, voce esta certo. Embora sim, o struct permite voce fazer "Orientação a Objetos em C". 

Na verdade, as evoluções do C (C++ e C#) usaram literalmente o struct pra reestrutura toda a linguagem e criar linguagens orientadas a objeto

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Envie uma dúvida grátis
Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Professor Walisson F.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Walisson

Não, a linguagem C não é orientada a objeto, apesar da struct ser semelhante a criação de objetos em outras linguagens, que por incrível que pareça foram originadas do C, por exemplo o C++,  C#, Java entre outras. Então podemos dizer que implicitamente a orientação a objetos surgiu de uma demanda que não era atendida na linguagem C.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Rafael P.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Rafael
Você consegue fazer todos os recursos de orientação a objeto usando gambiarras com structs e ponteiros pra funções. Contudo, linguisticamente, você tem que manualmente implementar os recursos. Por exemplo, ao chamar um método, você tem que colocar um ponteiro ao objeto chamador. A única coisa que não dá pra fazer é o recurso de templates, pois é metaprogramação. Ainda assim, também dá pra fazer mais gambiarra com o preprocessador e uma ferramenta como yacc.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professora Natalie P.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Natalie Von
sim. se chama cpp. O conceito de orientação a objetos implica o uso de classe e o c puro e tradicional não suporta classe... então c puro não é orientado a objeto, apesar de aceitar struct... o c que possui classe é o c++ ou C plus plus, que é o CPP ou seja, o C com o adicional da implementação de classes.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Rafael D.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Rafael
 
C não é orientado a objetos! . Assim como as respostas anteriores deixaram claro sobre isso.
 
Depende é claro da aplicação. Se estiver utilizando um processador ou um microcontrolador que possui uma pilha limitada, inviabilizando um programa em C++, utilize da criatividade para "Emular um ambiente orientado a objetos"... Lembrando sempre das limitações de Hardware se for o caso de um microcontrolador com pouco recurso. 
 
Você pode tentar imitar a orientação a Objetos utilizando estruturas, porém é um puxadinho e vai dar muito trabalho! 
 
Se for o caso de querer utilizar uma linguagem não orientada a objetos e desfrutar um pouco das facilidades, recomento o PASCAL.
 
 

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor