/
ColdCore-3.0a8/
ColdCore-3.0a8/src/
new object $help_coldc_oop: $help_coldc;

var $has_name name = ['prop, "Object Oriented Programming|OOP", "Object Oriented Programming|OOP"];
var $help_node body = <$ctext_frob, [[<$format, ["p", [], [], 'do_p]>, "Object Oriented Programming (OOP) is a style of programming which not only groups procedures and data by functionality but which also applies a few common rules to how this grouping occurs. In OOP designers group procedures and data into ", <$format, ["i", [], ["modules"], 'do_i]>, ". By doing this it helps to define the purpose of the program, and also gives the added benefit of portability (porting a modular segment of code to another program is much easier than porting an integrated segment of code). ", <$format, ["np", [], [], 'do_np]>, "These modules (or ", <$format, ["i", [], ["objects"], 'do_i]>, ") will generally follow a few guidelines:", <$format, ["p", [], [], 'do_p]>, <$format, ["ol", [], [<$format, ["li", [], ["Abstraction and Encapsulation of Data"], 'do_li]>, <$format, ["li", [], ["Inheritance"], 'do_li]>], 'do_ol]>, <$format, ["np", [], [], 'do_np]>, "Because data and procedures are grouped together, all procedures which handle the specific data should be included within the module. ", <$format, ["i", [], ["Abstraction and Encapsulation"], 'do_i]>, " occurs when the module abstracts and controls access to the data it manipulates. The internal representation of data used by a module is most likely irrelevant to external sources (with the interface being the primary concern). ", <$format, ["np", [], [], 'do_np]>, "An example of ", <$format, ["i", [], ["Abstraction and Encapsulation"], 'do_i]>, " would be a table of people and their pets. The 'People and Pets' module has several procedures:", <$format, ["p", [], [], 'do_p]>, <$format, ["dl", [], [<$format, ["dt", [], [<$format, ["i", [], ["Add Person"], 'do_i]>], 'do_dt]>, <$format, ["dd", [], ["Add a Person to the table. This procedure is passed the person, and their pet."], 'do_dd]>, <$format, ["dt", [], [<$format, ["i", [], ["Remove Person"], 'do_i]>], 'do_dt]>, <$format, ["dd", [], ["Remove a Person from the table. This procedure is passed the person to be removed."], 'do_dd]>, <$format, ["dt", [], [<$format, ["i", [], ["Get Pet"], 'do_i]>], 'do_dt]>, <$format, ["dd", [], ["This procedure finds the pet for a given person. It is passed the person and returns the Pet associated with that person."], 'do_dd]>], 'do_dl]>, <$format, ["p", [], [], 'do_p]>, "In the People and Pets module the table can be internalized in any form. The form is irrelevant to external programs which may use it. ", <$format, ["np", [], [], 'do_np]>, <$format, ["i", [], ["Inheritance"], 'do_i]>, " is the ability of another module to take on the functionality an existing module and further expand upon it. For instance, a 'People, Pets and their Names' module could be created which takes on the functionality of 'People and Pets', but expands it to include the names of the pets. ", <$format, ["np", [], [], 'do_np]>, "Inheritance is extremely useful because code becomes reusable and extendable without having to re-create each portion or module for different functionality. ", <$format, ["np", [], [], 'do_np]>, "In inheritance a module taking on the functionality of another object is called ", <$format, ["i", [], ["deriving"], 'do_i]>, " from that object. For instance, 'People, Pets and their Names' is derived from 'People and Pets'. The module 'People, Pets and their Names' is a ", <$format, ["i", [], ["child"], 'do_i]>, " of 'People and Pets', with 'People and Pets' being the ", <$format, ["i", [], ["parent"], 'do_i]>, " of 'People, Pets and their Names'."], #[['this, $help_coldc_oop]]]>;
var $help_node index = $help_index_driver;
var $help_node links = #[];
var $help_node nolist = 0;
var $root created_on = 853694227;
var $root flags = ['variables, 'methods, 'code, 'core];
var $root inited = 1;
var $root managed = [$help_coldc_oop];
var $root manager = $help_coldc_oop;