Skip to content
Research Article Open access CC BY 4.0

The Metrics of Multiple Inheritance and the Reusability of Code – Java and C++

Fawzi Albalooshi

Journal of Advances in Mathematics and Computer Science · pp. 1–12 · Published 11 May 2016

10.9734/BJMCS/2016/25851

Abstract

One of the fundamental notions in object-oriented systems is multiple inheritance which enables developers to combine concepts and increase the reusability of resulting software. Two of the widely used object-oriented languages are Java and C++ that each has its own mechanism to implement multiple inheritance. The paper investigates the difference between the two languages’ implementation of this important notion. CK software metrics have been widely used to measure object-oriented software designs and implementations and are well-known in the software engineering community. In this paper they are used to assess the two implementations of an object-oriented system having multiple inheritance relationships and in particularly the reusability factor. Reusability is evaluated using a combination of the CK metrics that have been designed specifically for the purpose. The results clearly show that the Java implementation compared to C++ has increased coupling and software complexity and lacks cohesion resulting to reduced software reusability.

Multiple inheritance software metrics reusability java C CK metrics.

References (19)

  1. 1 A metrics suite for object oriented design [DOI]
  2. 2 Object-Oriented Analysis and Design with Applications
  3. 3 A validation of object-oriented design metrics as quality indicators [DOI]
  4. 4 Object-oriented metrics that predict maintainability [DOI]
  5. 5 A hierarchical model for object-oriented design quality assessment [DOI]
  6. 6 IEEE Transactions on Software Engineering [DOI]
  7. 7 Managerial use of metrics for object-oriented software: an exploratory analysis [DOI]
  8. 8 An evaluation of the MOOD set of object-oriented software metrics [DOI]
  9. 9 An investigation into coupling measures for C++ [DOI]
  10. 10 A Survey of Metrics for UML Class Diagrams. [DOI]
  11. 11 Coupling metrics for object-oriented design [DOI]
  12. 12 Early measures for UML class diagrams
  13. 13 Ada 2005 Reference Manual. Language and Standard Libraries [DOI]
  14. 14 Ada 2012 Reference Manual. Language and Standard Libraries [DOI]
  15. 15 Featherweight Jigsaw — Replacing inheritance by composition in Java-like languages [DOI]
  16. 16 Simulating multiple inheritance in Java [DOI]
  17. 17 Simulating multiple inheritance and generics in Java [DOI]
  18. 18 Multiple Inheritance in C++ [DOI]
  19. 19 Analysis of Reusability of Object-Oriented System using CK Metrics [DOI]

Cited by 3

On the Evolution of Inheritance and Delegation Mechanisms and Their Impact on Code Quality

Giammaria Giordano, Antonio Fasulo, Gemma Catolino · 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · 2022

The Yin and Yang of Software Quality: On the Relationship between Design Patterns and Code Smells

Giammaria Giordano, Giulia Sellitto, Aurelio Sepe · 2023 49th Euromicro Conference on Software Engineering and Advanced Applications (SEAA) · 2023

Showing 2 of 3 known citations — external sources report more than can currently be individually listed.

Article metrics

Real usage data collected on this platform.

48

Page views

0

PDF downloads

6

Outbound clicks

3

Citations

Views over time

Views by country

Approximate, from request IP at view time — not citizenship or institution. Countries with fewer than 5 views are grouped as "Other".

Traffic sources

Referring site, by host.

Views and downloads exclude known bots/crawlers. Citations combines this platform's own DOI-resolved index with each external source's own reported total — see Cited by above for individually listed citing works. Last refreshed 0 seconds ago.