Object-oriented programmingObject-Oriented Programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or properties), and the code is in the form of procedures (often known as methods). A common feature of objects is that procedures (or methods) are attached to them and can access and modify the object's data fields. In this brand of OOP, there is usually a special name such as or used to refer to the current object.
OwnershipOwnership is the state or fact of legal possession and control over property, which may be any asset, tangible or intangible. Ownership can involve multiple rights, collectively referred to as title, which may be separated and held by different parties. The process and mechanics of ownership are fairly complex: one can gain, transfer, and lose ownership of property in a number of ways. To acquire property one can purchase it with money, trade it for other property, win it in a bet, receive it as a gift, inherit it, find it, receive it as damages, earn it by doing work or performing services, make it, or homestead it.
Interface (object-oriented programming)In object-oriented programming, an interface or protocol type is a data type that acts as an abstraction of a class. It describes a set of method signatures, the implementations of which may be provided by multiple classes that are otherwise not necessarily related to each other. A class which provides the methods listed in a protocol is said to adopt the protocol, or to implement the interface. If objects are fully encapsulated then the protocol is the only way in which they may be accessed by other objects.
Inheritance (object-oriented programming)In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototype-based inheritance) or class (class-based inheritance), retaining similar implementation. Also defined as deriving new classes (sub classes) from existing ones such as super class or base class and then forming them into a hierarchy of classes. In most class-based object-oriented languages like C++, an object created through inheritance, a "child object", acquires all the properties and behaviors of the "parent object", with the exception of: constructors, destructors, overloaded operators and friend functions of the base class.
State ownershipState ownership, also called government ownership and public ownership, is the ownership of an industry, asset, or enterprise by the state or a public body representing a community, as opposed to an individual or private party. Public ownership specifically refers to industries selling goods and services to consumers and differs from public goods and government services financed out of a government's general budget.
Social ownershipSocial ownership is the appropriation of the surplus product, produced by the means of production, or the wealth that comes from it, to society as a whole. It is the defining characteristic of a socialist economic system. It can take the form of community ownership, state ownership, common ownership, employee ownership, cooperative ownership, and citizen ownership of equity.
Object-oriented designObject-oriented design (OOD) is the process of planning a system of interacting objects for the purpose of solving a software problem. It is one approach to software design. An object contains encapsulated data and procedures grouped together to represent an entity. The 'object interface' defines how the object can be interacted with. An object-oriented program is described by the interaction of these objects. Object-oriented design is the discipline of defining the objects and their interactions to solve a problem that was identified and documented during object-oriented analysis.
Object (computer science)In computer science, an object can be a variable, a data structure, a function, or a method. As regions of memory, objects contain a value and are referenced by identifiers. In the object-oriented programming paradigm, an object can be a combination of variables, functions, and data structures; in particular in class-based variations of the paradigm, an object refers to a particular instance of a class. In the relational model of database management, an object can be a table or column, or an association between data and a database entity (such as relating a person's age to a specific person).
Employee stock ownershipEmployee stock ownership, or employee share ownership, is where a company's employees own shares in that company (or in the parent company of a group of companies). US employees typically acquire shares through a share option plan. In the UK, Employee Share Purchase Plans are common, wherein deductions are made from an employee's salary to purchase shares over time. In Australia it is common to have all employee plans that provide employees with $1,000 worth of shares on a tax free basis.
Class (computer programming)In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods). In many languages, the class name is used as the name for the class (the template itself), the name for the default constructor of the class (a subroutine that creates objects), and as the type of objects generated by instantiating the class; these distinct concepts are easily conflated.