Introduction to O-O Programming in Java

Week 5, Class 1

Today we begin considering Java programming. As you probably know, Java is especially well-suited for applications that function within the network. This includes client/server designs that involve interactions between programs operating on different computers, but it also includes a whole new concept of computing in which programs are delivered, through the Internet and the WWW, to the user on demand. Thus, instead of buying software in a shrink-wrapped package or downloading and installing if from the net, you obtain the program transparently when you request particular information or a particular service, just as you receive, transparently, an image or audio clip when you request certain Web pages. However, while Java has especially powerful and convenient features for network applications, it is a general purpose object-oriented language. Thus, it is suitable for virtually any application not requiring a specialized language.

The discussion of Java will begin by considering its Object-Oreinted structure. There are a number of object-oriented languages, and they differ from one another in particular features. The discussion here will be general, but it will discuss O-O concepts as they are found in Java. Thus, for example, it will discuss inheritance restricted to single-inheritance, as found in Java, versus multiple-inheritance, as found in C++ and several other O-O languages.

After looking at basic O-O concepts, we will then consider Java components that implement those concepts. This discussion will also differentiate between Java applications and Java applets.

We will then turn our attention to the details of Java. The discussion will proceed through several phases, introducing basic features adequate for simple programs, then going over some of the same ground, but in more depth, and concluding with some of Java's more powerful capabilities, including networking, multithreading, and multimedia.


Topics

The discussion of Obejct-Oriented Concepts will include the following topics

Assignment for Next Class