FACTOID # 168: There are 11 countries where the average woman has more than six children. Ten of them are in Africa.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Object oriented design

Object Oriented Design is the concept that forces programmers to plan out their code in order to have a better flowing program. The origins of object oriented design is debated, but the first languages that supported included it were Simula and SmallTalk. The term did not become popular until Grady Booch wrote the first paper titled Object-Oriented Design, in 1982. Simula is a programming language developed in the 1960s at the Norwegian Computing Centre in Oslo, by Ole-Johan Dahl and Kristen Nygaard. ... Smalltalk is an object-oriented, dynamically typed, reflective programming language. ... Grady Booch (born February 27, 1955) is a software designer, a software methodologist and a design pattern enthusiast. ...


Object Oriented Design is defined as a programming language that has 5 conceptual tools to aid the programmer. These programs are often more readable than non-object oriented programs, and debugging becomes easier with locality.

Contents

Object Oriented Design

Language Concepts

The 5 Basic Concepts of Object Oriented Design are the implementation level features that are built into the programming language. These features are often referred to by these common names:

  • Encapsulation: A tight coupling or association of data structures with the methods or functions that act on the data. This is called a class, or object (an object is often the implimentation of a class).
  • Data Protection: The ability to protect some components of the object from external entities. This is realized by language keywords to enable a variable to be declared as private or protected to the owning class.
  • Inheritance: The ability for a class to extend or override functionality of another class. The so called child class has a whole section that is the parent class and then it has its own set of functions and data.
  • Interface: A definition of functions or methods, and their signatures that are available for use to manipulate a given instance of an object.
  • Polymorphism: The ability to define different functions or classes as having the same name but taking different data types.

Encapsulation may refer to: (in the vernacular) expressing an idea with few words, such as with an adage, proverb, slogan, or jingle (in software engineering) the process of enclosing programming elements inside a larger, more abstract entity, similar to information hiding and separation of concerns. ... We dont have an article called Data protection Start this article Search for Data protection in. ... Inheritance is the practice of passing on property, titles, debts, and obligations upon the death of an individual. ... Look up interface in Wiktionary, the free dictionary. ... In general, polymorphism describes multiple possible states for a single property (it is said to be polymorphic). ...

Programming Concepts

There are several concepts that were derived from the new languages once they became popular. The new standards that came around pushed on three major things:

  • Re-usability: The ability to re-use code for multiple applications. If a programmer has already written a power function, then it should be written that any program can make a call to that function and it should work exactly the same.
  • Privacy: or data protection, this is important for large programs and preventing loss of data.
  • Documentation: The commenting of a program in mark up that will not be converted to machine code. This mark up can be as long as the programmer wants, and allows for comprehensive information to be passed on to new programmers. This is important for both the re-usability and the maintainability of programs.

Current Languages

Some modern languages that endorse object oriented design practices:

The Common Lisp Object System, a powerful system for object-oriented programming which forms part of Common Lisp. ... C++ (generally pronounced ) is a general-purpose, high-level programming language with low-level facilities. ... Look up C, c in Wiktionary, the free dictionary. ... Java is an object-oriented programming language developed by Sun Microsystems in the early 1990s. ... Python is an interpreted programming language created by Guido van Rossum in 1990. ...

External links



 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.