First, my thanks to Chris and Steve for responding to my last post. I will 
think about using arrays rather than lists. I am still confused, though, and 
guess I need to better spell things out. So ...

I want to create a teacher's gradebook type program. Courses have students and 
assignments. Because there are different types of assignments it makes sense to 
have a TAssignment base class from which to derive assignment classes which 
include things like properties for additional teacher comments or "rubric" 
data. (A rubric is essentially a grid with specialized assignment expectations 
in one column and evaluations of student performance on an expectation in the 
next column.)

A course, of course, also includes TStudent objects. 

I get confused in a couple key areas. First, I am uncertain what class in which 
to place student scores on an assignment. At first it seemed like pointsEarned 
should be a property in TAssignment, next to pointsPossible. But then I 
recognized that every TStudent object would need a list (or array) of 
TAssignments.

So, perhaps pointsEarned on an assignment should be part of TStudent--some sort 
of list/array with items that paired pointsEarned with corresponding 
TAssignments? How would that work? ... Help! :-)

Next, once I have this complicated arrangement between TCourse, TAssignment, 
and TStudent objects worked out I still have to figure out how to save 
everything. In my head I think about how easy and powerful it is to just drop 
DataSource and ClientDataSet components on a form and create a MyBase file. 
This object oriented arrangement sounds more complicated, esp. since components 
are dropped on a form & we are talking here about doing all the work in classes 
other than the main form.

I have learned a lot recently about object oriented programming. I finally see 
its power. But I'm really stuck on issues related to figuring out where to 
place properties and methods, sometimes, and general routines related to 
reading and writing data encapsulated in objects.

As always, thanks for reading this far! -- Al C.
_______________________________________________
Delphi mailing list -> Delphi@elists.org
http://www.elists.org/mailman/listinfo/delphi

Reply via email to