Skip to main content

Posts

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  

Encapsulation and Information Hiding

Data can be encapsulated such that it is invisible to the “outside world”. Data can only be accessed via methods. What the “outside world” cannot see it cannot depend on! The object is a “fire-wall” between the object and the “outside world”. The hidden data and methods can be changed without affecting the “outside world”.