Object Oriented Software Engineering View all facts Glossary Help |
subject > component > module > Java module > Java class > stream class > filter > object stream class > ObjectOutputStream |
ObjectOutputStream | ||||
subject | fact |
ObjectOutputStream | contains Java objects | |
is a subtopic of 3.5 - Technology Needed to Build Client-Server Systems | ||
is an instance of object stream class | ||
uses serialization | ||
object stream class | has example //creation output = new ObjectOutputStream(clientSocket.getOutputStream()); //sending an object output.writeObject(msg); //receiving an object (in a loop) msg = input.readObject(); | |
is wrapped around a binary stream | ||
filter | converts raw bytes of a message into other forms | |
Java class | can extend only one superclass | |
can have more than one constructor each of which has different sets of arguments | ||
can have the same name as another class if the two classes are not in the same package and their packages are never imported into the same file | ||
can implement more than one interface | ||
has form class classname | ||
is abstract if it has one or more abstract methods | ||
is stored in a file of the same name | ||
may implement particular low-level subsystems | ||
should be placed in its own source file | ||
should have a unique name since somebody in the future might want to import the packages containing both classes and hence create a name clash | ||
should order elements as follows: | ||
class | declares a list of variables, called instance variables, corresponding to data that will be present in each instance | |
has part class name | ||
has part class variable | ||
has part code | ||
has part constructor | ||
has part instance variable | ||
has part method | ||
has part variables | ||
is divided up into methods | ||
is drawn as a box with the name of the class inside in a UML class diagram | ||
is needed in a domain model if you have to store or manipulate instances of it in order to implement a requirement | ||
represents several similar objects | ||
see also class^2 | ||
should be created to hold a responsibility if the responsibility cannot be attributed to any of the existing classes | ||
should be named after things their instances represent in the real world | ||
should not be named after the internals of a computer system such as 'Record', 'Table', 'Data', 'Structure', or 'Information' | ||
data abstraction | groups the pieces of data that describe some entity, so that programmers can manipulate that data as a unit | |
helps a programmer to cope with the complexity of data | ||
hides the details of data | ||
module | has high cohesion if related aspects of a system are kept together in this module, and unrelated aspects are kept out | |
lacks side effects if it does not modify any data, and does not leave behind any information, other than its result, that would have an effect on other computations | ||
component | may perform a special-purpose function such as the user interface for a particular system |
Next object stream class: ObjectInputStream Up: object stream class