Object oriented className based programming Languages

Object oriented className based programming Languages

className-based Object-oriented programming languages support objects defined by their className. className definitions include member data. Polymorphic functions parameterized by the className of some of their arguments are typically called methods.

In languages with single dispatch, classes typically also include method definitions. In languages with multiple dispatch, methods are defined by generic functions. There are exceptions where single dispatch methods are generic functions (e.g. Bigloo's object system).

  • Structure
    A className contains data field descriptions (or properties, fields, data members, or attributes). These are usually field types and names that will be associated with state variables at program run time; these state variables either belong to the className or specific instances of the className.
  • Behavior
    The behavior of className or its instances is defined using methods. Methods are subroutines with the ability to operate on objects or classes. These operations may alter the state of an object or simply provide ways of accessing it.[6] Many kinds of methods exist, but support for them varies across languages.
  • The concept of className interface
    Every className implements (or realizes) an interface by providing structure and behavior. Structure consists of data and state, and behavior consists of code that specifies how methods are implemented.[9] There is a distinction between the definition of an interface and the implementation of that interface; however, this line is blurred in many programming languages because className declarations both define and implement an interface. Object-oriented programming methodology dictates that the operations of any interface of a className are to be independent of each other. It results in a layered design where clients of an interface use the methods declared in the interface.

List of Object oriented className based programming Languages

className-based Object-oriented programming

className-based Object-oriented programming languages support objects defined by their className. className definitions include member data. Message passing is a key concept (if not the key concept) in Object-oriented languages. Polymorphic functions parameterized by the className of some of their arguments are typically called methods. In languages with single dispatch, classes typically also include method definitions. In languages with multiple dispatch, methods are defined by generic functions.

  • Common Lisp
  • Dylan
  • Cecil
  • Curl
  • Delphi
  • Java