Hoje vamos tratar
de um assunto delicado.
Seria a linguagem C# uma linguagem puramente orientada a objetos ? |
Vamos definir primeiro quais as caracteristicas e recursos uma linguagem orientada a objetos pura deve ter.
Assim uma linguagem orientada a objetos deve satisfazer as seguintes qualidades:
Uma linguagem com suporte parcial a esses recursos pode ser considerada uma linguagem híbrida.
Vamos fazer uma comparação desses requisitos entre as linguagems C#, Java, Ruby, Smalltalk Python, C++ e Visual Basic.
Na tabela a seguir temos :
Smalltalk | Ruby | Java | C# | C++ | Python | Visual Basic | |
---|---|---|---|---|---|---|---|
Ensapsulamento | Sim | Sim | Sim | Sim | Sim | Não | Sim? |
Herança | Sim | Sim | Sim | Sim | Sim | Sim | Não |
Polimorfismo | Sim | Sim | Sim | Sim | Sim | Sim | Sim(delegação) |
Todos os tipos pré-definidos são objetos | Sim | Sim | Não | Não | Não | Sim | Não |
Todas as operações enviam mensagens a objetos | Sim | Sim | Não | Não | Não | Não | Não |
Todos os tipos definidos pelo usuário são objetos | Sim | Sim | Sim | Sim | Não | Sim | Não |
Como podemos conferir, somente as linguagens Smalltalk e Ruby são puramente orientada a objetos, as demais linguagens incluindo a linguagem C#, são linguagens híbridas.
A linguagem C# embora dê total suporte a orientação a objetos pois contém os recursos fundamentais da orientação a objeto como : Encapsulamento, herança, polimorfisto e abstração, não atende todos os requisitos de uma linguagem puramente OOP.
Além disso, a herança não é puramente suportada pela linguagem C# pois ela não dá suporte a herança múltipla. Java também é uma linguagem híbrida visto que os tipos básicos não são objetos. Visual Basic é uma linguagem procedural.
Conclusão: A linguagem C# não é puramente orientada a objetos.
E estamos conversados...
"Meus
filhinhos, estas coisas vos escrevo, para que não pequeis; e, se alguém
pecar, temos um Advogado para com o Pai, Jesus Cristo, o justo."
1 João 2:1
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências: