Jim DeMarco
Jdemarco at hshhp.org
Fri May 16 06:48:01 CDT 2003
Since you're using .NET you don't need variables of your various sub-class object types. Just use the inheritance you now have available. If your Car class inherits from the Door class (or vice-versa) you don't need a variable to have access to the inherited class methods and properties, you have direct access to the base class via the inheritance. This sounds like what you're trying to accomplish, no? Thanks, Jim DeMarco Director of Product Development HealthSource/Hudson Health Plan -----Original Message----- From: John Colby [mailto:jcolby at colbyconsulting.com] Sent: Thursday, May 15, 2003 9:26 PM To: accessd at databaseadvisors.com Subject: RE: [AccessD] OT: VBA.Net collections No, I was intending to add all of the Car functionality and properties into a collection class subclassed (called) car, then add door classes into the car collection class. The alternative would be to build a car class, with a colDoor as collection variable, then add the door classes into colDoor. Using the first method, Car would have it's properties, color, weight etc. Plus it would have an add method that accepted objects to add into the built in collection. The objects placed in this collection would be door classes. The problem with doing this is that when referenced in place the syntax would be deceiving. Car(1) would actually reference a Door class stored in the collection when it looks like a reference to some object stored in a car array. Further if using an iterator, you would use something like: for each door in car() next door Which actually isn't too bad. However usually you would do something like: For each door in car.colDoor() next door Still a little deceiving. John W. Colby www.colbyconsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Jim DeMarco Sent: Thursday, May 15, 2003 8:28 PM To: accessd at databaseadvisors.com Subject: RE: [AccessD] OT: VBA.Net collections I think your example would more properly require a Door class and a Doors collection class which you'd subclass into your Car class to provide the same syntax (Car.Door(1).Handle). Jim DeMarco -----Original Message----- From: John Colby [mailto:jcolby at colbyconsulting.com] Sent: Thursday, May 15, 2003 8:14 PM To: accessd at databaseadvisors.com Subject: RE: [AccessD] OT: VBA.Net collections I absolutely understand what you are saying. My thought was that part of the functionality of this class was that it had to have a collection, thus the "having a collection" was one of it's properties. If I don't do what I discussed, then I have to add a collection object variable. However if thought of in terms of naming... let's just make up an example. Let's call the class I am designing Car, and the objects placed in the collection as doors. If I don't use a variable pointing to a collection, then the syntax to manipulate the doors (in place) would be Car(1).Handle (for example). If I use a variable, it would be Car.Door(1).Handle. From that perspective, the second (generally used) method is superior since the first method makes readability obscure. John W. Colby www.colbyconsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Jim DeMarco Sent: Thursday, May 15, 2003 7:53 PM To: accessd at databaseadvisors.com Subject: RE: [AccessD] OT: VBA.Net collections John, Although it seems like it may be the same difference I think it breaks the philosophy (if you will) of class development. If you design your classes to handle one set of functionality (as class definition normally calls for) then this would dictate keeping the object and all its methods and properties and its collection with its methods and properties separate. Just my opinion but I'd keep them separate (and do). Jim DeMarco (from home) -----Original Message----- From: John Colby [mailto:jcolby at colbyconsulting.com] Sent: Thursday, May 15, 2003 5:38 PM To: AccessD Cc: VBA Subject: [AccessD] OT: VBA.Net collections I am looking at implementing some classes that have defined functionality and properties. However the class also needs a collection to hold other items (instances of a specific class. I read about the idea of subclassing a collection to define the object that the collection can hold by overriding the Add method. Is there any reason not to just go the whole way and make the collection class my object class. IOW, add my methods and properties to a subclassed collection class, naming the new class to MyObject. John W. Colby www.colbyconsulting.com _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com **************************************************************************** ******* "This electronic message is intended to be for the use only of the named recipient, and may contain information from Hudson Health Plan (HHP) that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately, either by contacting the sender at the electronic mail address noted above or calling HHP at (914) 631-1611. If you are not the intended recipient, please do not forward this email to anyone, and delete and destroy all copies of this message. Thank You". **************************************************************************** ******* _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com **************************************************************************** ******* "This electronic message is intended to be for the use only of the named recipient, and may contain information from Hudson Health Plan (HHP) that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately, either by contacting the sender at the electronic mail address noted above or calling HHP at (914) 631-1611. If you are not the intended recipient, please do not forward this email to anyone, and delete and destroy all copies of this message. Thank You". **************************************************************************** ******* _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com *********************************************************************************** "This electronic message is intended to be for the use only of the named recipient, and may contain information from Hudson Health Plan (HHP) that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately, either by contacting the sender at the electronic mail address noted above or calling HHP at (914) 631-1611. If you are not the intended recipient, please do not forward this email to anyone, and delete and destroy all copies of this message. Thank You". ***********************************************************************************