Secondly, the C# is also an object-oriented programming language developed by Microsoft for the development of windows based and internet applications which is literally the counterpart to Java of Sun Microsystems. Thirdly, the C++ programming language was developed by Bjarne Stroustrup, and defined as general purpose programming language that is better than the C language which supports data abstraction, object-oriented programming, and generic programming. Due to its extensive capabilities, most of the programs running in computer system such as applications, games, and even the operating system are written in C++ language.
As what I have mentioned above, the three different programming languages are all object-oriented wherein the programming methodology focuses on the data rather than the process. The data can be entities or objects that are being manipulated. Objects are commonly defined as sufficient modules, conceptual entities, and run-time units that are used as the foundation of the program. In most object-oriented programming language, an object is characterized by its identity, state, and behavior. Identity is a property of an object that distinguishes from other objects, while the state describes the data stored in the object, and lastly, the behavior is the one that describe the methods of the object's interface
Java programming language defined objects as the bundle of related state and behavior wherein it stores its state in the fields and exposed its behavior through methods. In other programming languages, fields are treated as variables while methods are treated as functions. The classes in java are blueprints that are used for the creation of an object, thus, it makes an object an instance of a class. Java uses inner classes instead of pointers to create a concise adapter classes that are often used to connect a callback and event from a module to others. Inheritance in Java is the ability of a class to inherit frequent used states and behaviors of other classes. In general rule of inheritance, a class must only have one direct superclass or parent class, while one superclass can have unlimited subclasses or child classes. Instead of the templates being used by other programming languages, Java used generics to create classes and objects that can operate on any defined types. This advantage gives the programmer an ease of use and better code.
In C# programming language, a type was defined by a class, while the instances of the class are called objects. There is a similarity in the definition of the object in both C# and Java, wherein it stated from the latter that object is an instance of a class. The class is the heart or core of all object-oriented programming and so it is vital in C#. A class is a container of data or fields and operations that manipulate the data or method. Pointers are variables that hold the address in the memory of other variable. Since it is a pointer, it could be used in value types and arrays but not to a structure containing a reference types. The same as Java, that inheritance was also implemented for it was the specialization relationship wherein the class could inherit only from a single parent or superclass, but a certain class can have many or multiple interfaces. C# uses generics instead of