Skip to main content

Posts

History of Java

1990 Oak (interactive television, big failure) 1994 Java (for the Internet) Main feature: "Write Once, Run Any Where" => wrap the operating system so they all look the same Designed for A fresh start (no backward compatibility) “Pure” OOP: C++ Syntax, Smalltalk style Improvements over C++ much harder to write a bad program  Internet programming Very hard to create a virus  Run in a web browser (and at the server) There is a speed issue (from Java 1.3 and up much better) C# Microsoft's “Java-Killer” project release 2001 Language very similar to Java   Commen-Language Runtime (CLR) supports 30+ languages  

Java Program Structure

Code Example, Revisited

Polymorphism and Dynamic Binding

Polymorphism: One piece of code works with all shape objects. Dynamic binding: How polymorphism is implemented Take previous Shape class hierarchy  remove inheritance  remove general and abstract class Shape 

Generalization and Specialization

Generalization creates a concept with a broader scope. Specialization creates a concept with a narrower scope. Reusing the interface!  Inheritance: get the interface from the general class. Objects related by inheritance are all of the same type.

Aggregation and Decomposition

Idea: make new objects by combining existing objects. Reusing the implementation!  An aggregation consists of a number of (sub-)concepts which collectively is considered a new concept. A decomposition splits a single concept into a number of (sub-)concepts.

Phenomenon and Concept

A phenomenon is a thing in the “real” world that has individual existence. an object A concept is a generalization, derived from a set of phenomena and based on the common properties of these phenomena. a class Characteristics of a concept  A name Intension, the set of properties of the phenomenon  Extension, the set of phenomena covered by the concept  Classification and Exemplification, Examples • hat, 23, 34, mouse, telephone, book, 98, 45.34, hello numbers: 23, 34, 98, 45.34  words: hat, mouse, telephone, book, hello mouse, tyrannosaurus rex, allosaurus, elephant, velociraptor dinosaur: tyrannosaurus rex, allosaurus, velociraptor mammal: mouse, elephant A classification is a description of which phenomena that belongs to a concept. An exemplification is a phenomenon that covers the concept