That's why I put the word open in quotes.
In your example I would say that "opening" /dev/hda1 means that you are "opening" a set of which the file is a subset. "Opening" a set implies that you have "opened" all subsets. (note the continued use of quotation marks)
Because I know that someone will point out that opening a set does not imply opening all subsets (example: a box filled with other boxes) I will clarify that in this case I am refering to sets that contain only singletons (in this case bytes or blocks) as elements.
Update: fixed moderate typo.