Go Language Object Oriented Programming: Difference between revisions
Jump to navigation
Jump to search
Line 7: | Line 7: | ||
Go does not use the term "[[Object-Oriented_Programming#Class|class]]". It uses <code>struct</code> instead, which is the encapsulation of data and methods, so the <code>struct</code> ends being equivalent to a class. | Go does not use the term "[[Object-Oriented_Programming#Class|class]]". It uses <code>struct</code> instead, which is the encapsulation of data and methods, so the <code>struct</code> ends being equivalent to a class. | ||
Go does not have inheritance, constructors or generics. | Go does not have inheritance, constructors or generics. Inheritance can be replaced to a certain extent by composition, embedding and interface, which support code reuse and [[Object-Oriented_Programming#Polymorphism|polymorphism]]. |
Revision as of 23:31, 14 August 2023
Internal
Overview
Go is an object oriented language, but the object orientation programming model is relatively simple, compared with other object oriented languages. It has been said about Go that is "weakly" object-oriented.
Go does not use the term "class". It uses struct
instead, which is the encapsulation of data and methods, so the struct
ends being equivalent to a class.
Go does not have inheritance, constructors or generics. Inheritance can be replaced to a certain extent by composition, embedding and interface, which support code reuse and polymorphism.