What is Object Oriented Design? (OOD)
2013-11-07 01:00
411 查看
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 it included Simula and SmallTalk. The term did not become popular until Grady Booch wrote the first paper titled Object-Oriented Design, in 1982.
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.
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 implementation 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 it's 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.
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 reuse 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
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.
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.
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 implementation 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 it's 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.
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 reuse 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
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.
相关文章推荐
- OOD(object oriented design)
- Object Oriented Design (OOD)
- OOD - Object Oriented Design 面向对象设计实例
- Object-Oriented Game Design
- Object-Oriented Analysis and Design Using UML 翻译与学习 (九)
- 网易云课堂-Class One-What is the UI Design?
- Object-Oriented Analysis and Design Using UML 翻译与学习 (十)
- reSIProcate is a high performance, object-oriented, C++ sip stack
- What is "Object Expected" error in Internet Explorer?
- Object-Oriented Analysis and Design with Applications (2nd Edition)
- 软件随想录(local.joelonsoftware.com/wiki)-2006年01月26日 卓越设计:何谓设计? - Great Design: What is Design?
- Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(一)
- Is Go An Object Oriented Language?
- Objective-C——面向对象设计——OOD(Object Oriented Designs)
- Question 30: What is the order of destructor calls for an object of class Y inherited from class X that has an object of class A
- Data Structures and Algorithms with Object-Oriented Design Patterns (1)
- JS:what is this "Object.prototype" anyway...?
- Aspect Oriented Programming(AOP)面向切面编程+OOD = Object Oriented Design OOP = Object Oriented ProgrammingOOP(面向对象编程)
- Game Design the Object Oriented Way
- Object-Oriented Game Design(面向对象游戏设计)