Professional Documents
Culture Documents
Goals
Object Basics Pillars of OOP Basic Java Syntax Compiling / Executing Java Programs
OOP Concepts
Objects Attributes Methods Events Abstraction & Classes Constructors
What is an object?
An object is a unique programming entity that has attributes to describe it and methods to retrieve/set attribute values.
Attributes
Programmers store an objects data in attributes, also called properties. Attributes provide us a way to describe an object, similar to adjectives in grammar. We can read property values or change properties, assigning values.
Methods
Whereas attributes describe an object, methods allow us to access object data. Methods are like verbs in grammar. We can manipulate object data, stored in attributes, using methods.
Events
Object-oriented programming is inherently tied to user interaction. Programs record interaction in the form of events. Events are changes in an objects environment to which it can react.
Abstraction
One of the chief advantages of object-oriented programming is the idea that programmers can essentially focus on the big picture and ignore specific details regarding the innerworkings of an object. This concept is called abstraction.
Classes
How do programmers get by implementing abstraction? They use a programming structure called a class. A class presents a blueprint of an object, its properties and its methods.
Instantiation
To create an object based on a class, we create an instance of that class. This process is called instantiation. In Java and other languages, we use a special method called a constructor method to create an instance of an object.
Encapsulation
Abstraction in OOP is closely related to a concept called encapsulation. Data and the ways to get at that data are wrapped in a single package, a class. The only way to access such data is through that package. This idea translates to information hiding.
Inheritance
Another of the main tenets of OOP is inheritance. Inheritance allows programmers to create new classes from existing ones. A child class inherits its properties and attributes from its parents, which programmers can change.
Polymorphism
Polymorphism describes how programmers write methods to do some general purpose function. Different objects might perform polymorphic methods differently.
Java
Developed by Sun Microsystems Java lineage C to C++ to Java driven by the nature of the computing environments in which software must be deployed embedded systems. The massive growth of the Internet and the World-Wide Web new ways of development and
secure, high performance, and highly robust applications on multiple platforms in heterogeneous, distributed networks. architecture neutral, portable, and dynamically adaptable.
Object oriented
focus on the data (objects) and methods manipulating the data all functions are associated with objects almost all datatypes are objects (files, strings, etc.) potentially better code organization and reuse
Portable
same application runs on all platforms the sizes of the primitive data types are always the same the libraries define portable interfaces
Secure
usage in networked environments requires more security memory allocation model is a major defense access restrictions are forced (private, public)
Dynamic
java is designed to adapt to evolving environment libraries can freely add new methods and instance variables without any effect on their clients interfaces promote flexibility and reusability in code by specifying a set of methods an object can perform, but leaves open how these methods should be implemented can check the class type in runtime
Pillars of OOP
Encapsulation Inheritance Polymorphism
Encapsulation
Mechanism that wraps together code and data that it manipulates Safe from outside interference & misuse Example from real world the car you drive Java classes (data, methods and instances access is carefully controlled public, private)
Inheritance
One objects inherits the properties of another For eg. A Doberman is a dog which in turn is a mammal
Polymorphism
Many forms One interface multiple methods Reduces the complexity For eg. Dogs sense of smell is polymorphic Dogs smells a cat, dog smells food Depending on what, the reaction varies
Java is
CASE SENSITIVE!
external command, operable program or hatch file. if you see one of these errors, you have two choices: 1) specify the full path in which the javac program locates every time. For example:
C:\j2sdk1.4.2_09\bin\javac HelloWorldApp.java
Note that the command is java, not javac, and you refer to HelloWorldApp, not HelloWorldApp.java or HelloWorldApp.class
Exception in
HelloWorldApp
if you see this error, you may need to set the environment variable CLASSPATH.
Java platform
The Java Virtual Machine The Java Application Programming Interface (API) JVM - the base for the Java platform and is ported onto various hardwarebased platforms. The API is a large collection of readymade software components that provide many useful capabilities.