Object Oriented Programming Concepts
- April 26th, 2010
- Write comment
These are some concepts and principles object oriented programming, basic ones.
Concepts
| Object |
An abstraction of a domain-problem entity |
| Class |
Programmatic representation of an object. A class is the blueprint from which individual objects are created. |
| Instance |
Instance is a particular ‘occurrence’ of a class in runtime. |
Principles
| Principle | Reference | |
| Information Hiding |
Information hiding in computer science is the principle of segregation of design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed. The protection involves providing a stable interface which protects the remainder of the program from the implementation | http://bit.ly/7HgfrJ |
| Polymorphism | In the context of object-oriented programming, is the ability of one type, A, to appear as and be used like another type, B. Polymorphism is not the same as method overloading or method overriding. Polymorphism is only concerned with the application of specific implementations to an interface or a more generic base class. Method overloading refers to methods that have the same name but different signatures inside the same class. Method overriding is where a subclass replaces the implementation of one or more of its parent’s methods. Neither method overloading nor method overriding are by themselves implementations of polymorphism. |
http://bit.ly/90rX6 |
| Decoupling | Basically, it’s interdependence between systems. In simple terms, if you have class A that uses class B then that’s coupling. Class A can’t work without class B. If there is a common interface between the two, then you could theoretically change class B and still have it work with class A as long as the interface is still there. |
http://bit.ly/91Vx2D |
| Data encapsulation |
It´s the mechanism whereby details of implementation are kept hidden from the user. | http://bit.ly/5XXJG6 |
