Почему язык C не поддерживает концепцию наследования? Как реализовать наследование в C с помощью вложенных структур?Почему C не поддерживает наследование?
ответ
Это понятие ООП, но вы также можете реализовать его в С.
Наследование и полиморфизм являются наиболее мощные возможности объектно-ориентированного программирования Языки. С наследованием и полиморфизмом мы можем добиться повторного использования кода.
Есть много способов, сложных для реализации полиморфизма в C.
В C, наследование может быть достигнут путем сохранения ссылки на объект базового класса в производном классе объекте. С помощью экземпляра базового класса мы можем получить доступ к элементам и функциям базовых данных. Однако для достижения полиморфизма объект базового класса должен иметь доступ к данным объекта производного класса. Для этого базовый класс должен иметь права доступа к членам данных производного класса.
Для реализации виртуальной функции подпись функции производного класса должна быть похожа на указатели на функции базового класса. Это означает, что производная функция класса примет экземпляр базового класса в качестве параметра. Мы поддерживаем ссылку на производный класс в базовом классе. Во время реализации функции мы можем получить доступ к фактическим данным производного класса из ссылки производного класса.
пройти через very good Article
- 1. Почему C# не поддерживает множественное наследование?
- 2. Почему C# doen't поддерживает множественное наследование
- 3. Почему vb.net не поддерживает множественное наследование?
- 4. Почему Javascript не поддерживает наследование по умолчанию?
- 5. Почему Java не поддерживает множественное наследование?
- 6. почему Java не поддерживает множественное наследование
- 7. Почему Django не поддерживает одноуровневое наследование?
- 8. Почему Java не поддерживает множественное наследование?
- 9. Поддерживает ли наследование языка C?
- 10. Почему интерфейс поддерживает множественное наследование и класс Doesnt в C#
- 11. Не поддерживает ли наследование класса NetBeans C++ IDE или Eclipse?
- 12. Почему ActiveRecord в Rails не поддерживает множественное наследование таблиц?
- 13. Поддерживает ли OpenLDAP наследование?
- 14. Почему вы не можете выполнять множественное наследование в C#?
- 15. Почему C++ не поддерживает массивы переменной длины?
- 16. Почему gcc поддерживает Java, а не C#
- 17. Почему C# не поддерживает общие классы классов?
- 18. Почему C++ не поддерживает именованный параметр
- 19. Почему Objective-C не поддерживает перегрузку метода?
- 20. Почему C++ не поддерживает сильно типизированный многоточие?
- 21. Почему наследование не определено неявно
- 22. Построение объекта, который поддерживает наследование
- 23. Множественное наследование не поддерживается в dotnet. Но поддерживает несколько интерфейсов?
- 24. Поддерживает ли расширение C# 4.0 ExpandoObject основанное на прототипе наследование?
- 25. Поддерживает ли mod_mono наследование web.config?
- 26. множественное наследование не поддерживается в C#. Зачем?
- 27. Поддерживает ли MySQL наследование таблицы?
- 28. Почему этот интерфейс поддерживает множественное наследование, когда интерфейс полностью абстрактный?
- 29. Почему CoffeeScript не поддерживает `==`?
- 30. C# Наследование
Поскольку C не имеет объектов, поэтому он должен реализовать концепцию на объектно-ориентированном языке? – klaustopher
downvoters \ closers это наивный, но действительный вопрос imho. – UmNyobe
это концепция oops – user2760375