Encapsulation

Go down

Encapsulation

Post by meodingu on Tue Jan 11, 2011 4:30 pm

Encapsulation

Encapsulation is the hiding of information in order to ensure that data structures and operators are used as intended and to make the usage model more obvious to the developer. C++ provides the ability to define classes and functions as its primary encapsulation mechanisms. Within a class, members can be declared as either public, protected, or private in order to explicitly enforce encapsulation. A public member of the class is accessible to any function. A private member is accessible only to functions that are members of that class and to functions and classes explicitly granted access permission by the class ("friends"). A protected member is accessible to members of classes that inherit from the class in addition to the class itself and any friends.

The OO principle is that all of the functions (and only the functions) that access the internal representation of a type should be encapsulated within the type definition. C++ supports this (via member functions and friend functions), but does not enforce it: the programmer can declare parts or all of the representation of a type to be public, and is allowed to make public entities that are not part of the representation of the type. Because of this, C++ supports not just OO programming, but other weaker decomposition paradigms, like modular programming.

It is generally considered good practice to make all data private or protected, and to make public only those functions that are part of a minimal interface for users of the class. This hides all the details of data implementation, allowing the designer to later fundamentally change the implementation without changing the interface in any way.[15][16]

Property Management California
full service movers
avatar
meodingu
Member
Member

Male Posts : 153
BDB Credits : 421
Rep : 0
Age : 33
Location : vn hp
Job/hobbies : studient

Back to top Go down

Re: Encapsulation

Post by lunamoonfang on Sat Jan 15, 2011 8:01 pm

The OO principle is that all of the functions (and only the functions) that access the internal representation of a type should be encapsulated within the type definition. C++ supports this (via member functions and friend functions), but does not enforce it: the programmer can declare parts or all of the representation of a type to be public, and is allowed to make public entities that are not part of the representation of the type. Because of this, C++ supports not just OO programming, but other weaker decomposition paradigms, like modular programming.

It is generally considered good practice to make all data private or protected, and to make public only those functions that are part of a minimal interface for users of the class. This hides all the details of data implementation, allowing the designer to later fundamentally change the implementation without changing the interface in any way.[15][16]


customer service jobs
home security companies

lunamoonfang
Member
Member

Male Posts : 126
BDB Credits : 255
Rep : 0
Age : 27
Location : Vietnam
Job/hobbies : gasdasdf

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum