Skip to main content

The Class Concept


  • A class is a collection of objects (or values) and a corresponding set of methods. 
  • A class encapsulates the data representation and makes data access possible at a higher level of abstraction.


Example 1: A set of vehicles with operations for starting, stopping, driving, get km/liter, etc.

Example 2: A time interval, start time, end time, duration, overlapping intervals, etc.

Example 3: A string, upper case, compare, lower case, etc.

  •  str.equals(otherStr) – class/Java style 
  •  strcmp(str, otherStr) – C style

Comments

Popular posts from this blog

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.

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